在两台连接的计算机之间发送数据包的最快方法?

时间:2012-04-20 23:21:07

标签: java windows linux udp

(我在询问前进行了搜索,但我只能找到最快的Java IPC技术)

在Java和Linux上的两台计算机之间(通过一根以太网电缆连接)发送数据包的最快方式是什么?(如果答案因操作系统而异)?

我猜想UDP会比TCP更快(由于TCP的三次握手方案),但还有其他需要考虑的因素吗?

我们是否仅限于套接字(特定于Unix的答案?)或者有替代方案吗?可以使用哪些技术尽快发送/接收UDP?

同样,是否有特别高效的方式来接收和读取从另一台计算机发送的数据?

2 个答案:

答案 0 :(得分:2)

如果您忽略连接/断开延迟,则TCP / UDP之间没有太多关系。如果您的协议可以保持TCP连接并禁用不适当的延迟诱导优化(如Nagle算法),我不明白为什么TCP应该作为解决方案被删除,尽管需要协议的轻微复杂性在顶部交换任何大于一个字节的消息。

无论如何,大多数网络速率和延迟性能通常受到phy和路由约束的限制。看看两个对等体之间的一个数据包,你使用什么IP协议并不重要,因为狡猾的路由器,c-限制卫星链路,拥塞光纤,噪声和重新传输的微波/ wifi / 3G链路,以及垃圾最后 - 无论如何,英里铜会让你满意。

答案 1 :(得分:0)

答案是通过courier pigeon。其他替代品包括sneakernet和autonet。我更喜欢自行车网。