问题描述
|
我正在构建一个应用程序并将数据发送回另一端,
在我的应用程序中,我有:
System.Net.sockets.socket.Send(byte[])
功能。
我的客户告诉我,有1英镑收到此数据包。但是,我记录了所有位置,直到:System.Net.sockets.socket.Send(byte[])
我测量到从Socket发送数组大约花费了15ms。我的客户建议我检查以下内容:
发送后刷新,但是我在套接字中看不到“ 3”字吗?
否则请先填满数据缓冲区,否则,如果数据很短,则必须have4ѭ
此建议之一正确吗?我看到方法Send的另一个参数是:SocketFlags
<=使用此SocketFlags
有帮助吗?
解决方法
Nagle算法存在一个普遍的问题,该算法试图“粘合”在一起发送的数据到单个数据包中。您的代码也可能会因此遭受痛苦。
尝试按此处所示禁用它,或使用
SetSocketOption
方法设置SocketOptionName.NoDelay
选项。