TcpClient 接続を閉じたりリセットしたりする正しい方法は何ですか? ハードウェアと通信するソフトウェアがありますが、何か問題が発生し、ソフトウェアを再起動するまで通信できなくなることがあります。
TcpClient.Close() を強制して null に設定しようとしましたが、うまくいきません。ソフトウェアの完全な再起動のみが機能します。
提案?
TpcClient は 1 つの場所でしか定義されておらず、ライブラリ全体で使用されているため、using キーワードは使用できません。(そして、常に 1 つの接続しかありません)
通信を扱うライブラリです。ソフトウェア自体は、Controller クラス (ハードウェアを表す) の ResetConnection() メソッドを呼び出すことができます。
現在のように見えます
if (tcpClient != null)
{
tcpClient.Close();
tcpClient = null;
}
ここで読んだことから、「= null」の代わりに tcpClient.Dispose() を使用する必要があります
試してみて、違いがあるかどうかを確認します。