我正在构建一个应用程序并将数据发送回另一方,
在我的申请中,我有:
System.Net.Sockets.Socket.Send(byte[])
功能。
我的客户告诉我,有530 ms delay
收到此数据包。但是,我已记录每个地方,直到:System.Net.Sockets.Socket.Send(byte[])
我测到从Socket发送一个数组花了大约15ms。我的客户建议我查一下:
flush function
force the transmission
这个建议之一是否正确?我看到方法Send还有另一个参数,即:SocketFlags
< =有没有使用此SocketFlags
的帮助?
答案 0 :(得分:4)
Nagle算法存在一个常见问题,即试图将数据一起“粘合”到单个数据包中。您的代码可能也会受到影响。
尝试按照here所示的方式停用它,或者使用SocketOptionName.NoDelay
方法设置SetSocketOption
选项。