【问题标题】:C# TcpClient send data in other TCP frameC# TcpClient 在其他 TCP 帧中发送数据
【发布时间】:2013-01-17 20:01:23
【问题描述】:

我使用TCPClientNetworkStream通过套接字发送短消息(Modbus帧)。我使用NetworkStream 中的Write() 方法发送数据。

问题是我使用了两次或更多write(),但消息在一个 TCP 帧中发送(通过 Wireshark 检查),对我来说,所有写入的消息都将在其他 TCP 帧中发送是必要的。

有解决这个问题的办法吗?

【问题讨论】:

    标签: tcp frame tcpclient


    【解决方案1】:

    听起来好像 TCP 正在缓冲您的数据以优化性能。您可能希望在两次发送之间设置延迟或禁用 Nagel 算法(使用 SetSocketOption NoDelay true)。

    这可能会影响您的 TCP 性能,因此您需要小心何时/何地使用它。

    迈克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 2018-04-12
      • 2011-04-07
      • 2015-04-27
      • 1970-01-01
      相关资源
      最近更新 更多