我使用TCPClient
和NetworkStream
通过套接字发送短消息(Modbus帧)。我使用Write()
中的NetworkStream
方法发送数据。
问题是我使用了两次或更多次write()
,但消息是在一个TCP帧中发送的(由Wireshark检查),因为我必须将所有写入的消息发送到其他TCP帧中。
有什么想法解决这个问题吗?
答案 0 :(得分:0)
听起来好像TCP正在缓冲您的数据以优化性能。您可能希望在两次发送之间设置延迟或禁用Nagel的算法(使用SetSocketOption NoDelay true)。
这可能会影响您的TCP性能,因此您需要小心使用它的位置。
麦克