Socket.Send有延迟吗?

问题描述

| 我正在构建一个应用程序并将数据发送回另一端, 在我的应用程序中,我有
System.Net.sockets.socket.Send(byte[])
功能。 我的客户告诉我,有1英镑收到此数据包。但是,我记录了所有位置,直到:
System.Net.sockets.socket.Send(byte[])
我测量到从Socket发送数组大约花费了15ms。我的客户建议我检查以下内容: 发送后刷新,但是我在套接字中看不到“ 3”字吗? 否则请先填满数据缓冲区,否则,如果数据很短,则必须have4ѭ 此建议之一正确吗?我看到方法Send的另一个参数是:
SocketFlags
<=使用此
SocketFlags
有帮助吗?     

解决方法

Nagle算法存在一个普遍的问题,该算法试图“粘合”在一起发送的数据到单个数据包中。您的代码也可能会因此遭受痛苦。 尝试按此处所示禁用它,或使用
SetSocketOption
方法设置
SocketOptionName.NoDelay
选项。