(我在询问前进行了搜索,但我只能找到最快的Java IPC技术)
在Java和Linux上的两台计算机之间(通过一根以太网电缆连接)发送数据包的最快方式是什么?(如果答案因操作系统而异)?
我猜想UDP会比TCP更快(由于TCP的三次握手方案),但还有其他需要考虑的因素吗?
我们是否仅限于套接字(特定于Unix的答案?)或者有替代方案吗?可以使用哪些技术尽快发送/接收UDP?
同样,是否有特别高效的方式来接收和读取从另一台计算机发送的数据?
答案 0 :(得分:2)
如果您忽略连接/断开延迟,则TCP / UDP之间没有太多关系。如果您的协议可以保持TCP连接并禁用不适当的延迟诱导优化(如Nagle算法),我不明白为什么TCP应该作为解决方案被删除,尽管需要协议的轻微复杂性在顶部交换任何大于一个字节的消息。
无论如何,大多数网络速率和延迟性能通常受到phy和路由约束的限制。看看两个对等体之间的一个数据包,你使用什么IP协议并不重要,因为狡猾的路由器,c-限制卫星链路,拥塞光纤,噪声和重新传输的微波/ wifi / 3G链路,以及垃圾最后 - 无论如何,英里铜会让你满意。
答案 1 :(得分:0)
答案是通过courier pigeon。其他替代品包括sneakernet和autonet。我更喜欢自行车网。