2015-12-30 53 views
0

片段UDP/TCP段我要衡量一个客户端和服务器之间的UDP和TCP的速度,对于一个大学项目,为此我们必须选择我们会发送数据。例如500个字节,750个字节,1500个字节...在Java中

在Linux中,我知道如何减少或增加该段的MTU,但我不知道如何做到这一点在Java中我的应用程序。是否有任何功能可以做到这一点,或者使套接字变大或变小,并强制它发送我想要的数据量?

预先感谢您!

+0

MTU是最大值,而不是最小值。为什么不把它增加到9000字节,只发送你想要的数据的大小。 (并关闭Nagle) –

+0

但我该怎么做@PeterLawrey? – Beatriz

+0

您可以在您的操作系统中设置最大MTU。这是一个系统属性。然后发送更少的数据,你写一个较小的数量,并关闭Nagle,以便它立即发送。 –

回答

1

Java的套接字API是相当高的水平,不会给你太多的细粒度控制。
这就是说你可以写入x个字节到套接字然后刷新它。 你还应该启用TCP_NODELAY,否则数据包可能会被缓冲。
只要字节数量少于底层操作系统MTU,那么这些消息就应该分开发送。