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

use*_*112 7 java linux windows udp

(我在询问之前做过搜索,但我只能找到最快的Java IPC技术)

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

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

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

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

Mar*_*mes 2

好吧,如果忽略连接/断开连接延迟,TCP/UDP 之间并没有太大区别。如果您的协议可以保持 TCP 连接并禁用不适当的、导致延迟的优化(例如 Nagle 算法),我不明白为什么应该取消 TCP 作为解决方案,尽管需要顶部协议有一点复杂交换任何大于一字节的消息。

无论如何,大多数网络速率和延迟性能通常受到物理层和路由约束的限制。查看两个对等点之间的一个数据包,您使用哪种 IP 协议并不重要,因为存在狡猾的路由器、c 限制的卫星链路、拥塞的光纤、嘈杂且重传的微波/wifi/3G 链路以及最后的垃圾 -无论如何,英里铜会让你吃饱。