套接字.发送有延迟

本文关键字:延迟 套接字 | 更新日期: 2023-09-27 17:57:41

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

在我的申请中,我有:

CCD_ 1函数。

我的客户告诉我,收到这个包裹有530 ms delay。然而,我已经记录了所有位置,直到:System.Net.Sockets.Socket.Send(byte[])

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

  • 发送后要刷新,但我在套接字中没有看到flush function
  • 在发送之前先填满数据缓冲区,否则,如果数据不足,那么我必须force the transmission

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

套接字.发送有延迟

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

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