我有两台机器(PC),通过TCP/IP进行通信。我有一个简单的应用程序,它有服务器/客户端程序。
当我测量两台机器之间的通信速度时,从发送/接收消息得到400~500毫秒。
通过TCP/IP在两台机器之间的速度有限制吗?或者有什么最好的方法来加速交流?
任何评论对我都有帮助。
更新
这是我的TCP配置。数据只是10字节以下的字符串。
[5908] System SocketCommCoreUnit::ConfigureTcpSocket Tcp Socket configured:
[5908] System SocketCommCoreUnit::ConfigureTcpSocket ExclusiveAddressUse False
[5908] System SocketCommCoreUnit::ConfigureTcpSocket LingerState False, 0
[5908] System SocketCommCoreUnit::ConfigureTcpSocket NoDelay False
[5908] System SocketCommCoreUnit::ConfigureTcpSocket ReceiveBufferSize 8192
[5908] System SocketCommCoreUnit::ConfigureTcpSocket ReceiveTimeout 0
[5908] System SocketCommCoreUnit::ConfigureTcpSocket SendBufferSize 8192
[5908] System SocketCommCoreUnit::ConfigureTcpSocket SendTimeout 0
[5908] System SocketCommCoreUnit::ConfigureTcpSocket Ttl 128
[5908] System SocketCommCoreUnit::ConfigureTcpSocket IsBound True
最佳答案
有一个名为nodelay的TCP选项。
Socket.nodelay
它是Nagle Algo开关。默认情况下,nagle algo在发送之前会缓冲一定数量的字节。对于低延迟的东西,你应该启用“nodelay”。