7

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

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

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

我们是否仅限于套接字(Unix-specific answer?)还是有替代方案?可以使用哪些技术尽可能快地发送/接收 UDP?

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

4

2 回答 2

2

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

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

于 2012-04-20T23:40:21.197 回答
0

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

于 2012-04-21T00:37:10.027 回答