1

と を使用TCPClientNetworkStreamて、ソケットでショート メッセージ (Modbus フレーム) を送信します。Write()メソッド fromを使用NetworkStreamしてデータを送信します。

問題は、 を 2 回以上使用していることですwrite()が、メッセージは 1 つの TCP フレームで送信されます (Wireshark で確認)。書き込まれたすべてのメッセージが別の TCP フレームで送信される必要があります。

この問題を解決するアイデアはありますか?

4

1 に答える 1

0

TCP がパフォーマンスを最適化するためにデータをバッファリングしているかのように聞こえます。2 つの Send の間に遅延を設定するか、Nagel のアルゴリズムを無効にすることができます (SetSocketOption NoDelay true を使用します)。

これは TCP のパフォーマンスに影響を与える可能性があるため、いつどこで使用するかに注意する必要があります。

マイク

于 2013-01-18T22:48:48.233 に答える