2014-01-06 40 views
0

我使用线程和tcp协议从客户端发送简单的聊天消息到服务器。但是当我使用wireshark查看数据包的详细信息时,我看到我的数据被分成了例如..我的MSS = 1460,如果我发送780字节的数据..1几个字节进入第一段,其余的第二..进入数据包的字节数是随机的。我应该怎么做才能利用我的网络的全部容量?起初我以为自从我使用DataInputStream/OpStream以来,我得到了这个,但是当我将其更改为bufferedreader时,问题依然如此。 请帮助!使用java的套接字编程

+0

@jkbkot UDP与这个问题完全没有关系。它特别关于TCP。 – EJP

+0

你确定吗?碎片在TCP下处理。 TCP提供了连续数据流,您不必处理数据包,这在我链接的问题(以及其他许多问题)中得到了回答。使用UDP,您还将收到完整的数据包,而不是片段。你可能根本没有收到它。 –

回答

-1

使用BufferedOutputStreamBufferedWriter发送,并且只在需要时刷新,例如,读之前。

+0

我用printwriter在服务器上打印消息。 – user3164695

+0

你曾经'在服务器上打印消息'是完全无关紧要的。我告诉你想要在发送时使用*请在您评论之前阅读我实际写的内容。 – EJP