繁体   English   中英

Socket.Send 有延迟?

[英]Socket.Send has a delay?

我正在构建一个应用程序并将数据发送回另一端,

在我的应用程序中,我有:

System.Net.Sockets.Socket.Send(byte[]) function。

我的客户告诉我收到这个数据包有530 ms delay 但是,我已经记录了所有地方,直到: System.Net.Sockets.Socket.Send(byte[])

我测量到从 Socket 发送一个数组大约需要 15 毫秒。 我的客户建议我检查:

  • 发送后刷新,但我在 Socket 中没有看到flush function
  • 发送前先填满数据缓冲区,否则如果数据短,则我必须force the transmission

其中一个建议是否正确? 我看到 Send 方法还有另一个参数,即: SocketFlags <= 使用这个SocketFlags有什么帮助吗?

Nagle 算法存在一个常见问题,它试图将一起发送的数据“粘合”到单个数据包中。 您的代码也可能会受到影响。

尝试禁用它,如此处所示或通过使用SetSocketOption方法设置SocketOptionName.NoDelay选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM