0
片段UDP/TCP段我要衡量一个客户端和服务器之间的UDP和TCP的速度,对于一个大学项目,为此我们必须选择我们会发送数据。例如500个字节,750个字节,1500个字节...在Java中
在Linux中,我知道如何减少或增加该段的MTU,但我不知道如何做到这一点在Java中我的应用程序。是否有任何功能可以做到这一点,或者使套接字变大或变小,并强制它发送我想要的数据量?
预先感谢您!
片段UDP/TCP段我要衡量一个客户端和服务器之间的UDP和TCP的速度,对于一个大学项目,为此我们必须选择我们会发送数据。例如500个字节,750个字节,1500个字节...在Java中
在Linux中,我知道如何减少或增加该段的MTU,但我不知道如何做到这一点在Java中我的应用程序。是否有任何功能可以做到这一点,或者使套接字变大或变小,并强制它发送我想要的数据量?
预先感谢您!
Java的套接字API是相当高的水平,不会给你太多的细粒度控制。
这就是说你可以写入x个字节到套接字然后刷新它。 你还应该启用TCP_NODELAY,否则数据包可能会被缓冲。
只要字节数量少于底层操作系统MTU,那么这些消息就应该分开发送。
MTU是最大值,而不是最小值。为什么不把它增加到9000字节,只发送你想要的数据的大小。 (并关闭Nagle) –
但我该怎么做@PeterLawrey? – Beatriz
您可以在您的操作系统中设置最大MTU。这是一个系统属性。然后发送更少的数据,你写一个较小的数量,并关闭Nagle,以便它立即发送。 –