基盤となるNetworkStream.Write()を使用して、サーバーにデータを送信するTcpClientオブジェクトがあります。そのため、私は持っています:
TcpClient server = new TcpClient(serverName, 50001);
/* ... */
NetworkStream stream = server.GetStream();
これで、ボタンを押すと接続が閉じます。接続を閉じる正しい方法は何ですか?MSDNのドキュメントによると、TcpClientを(.Close()を使用して)閉じると、実際にはソケットは閉じられず、TcpClientリソースのみが閉じられます(少なくとも私がドキュメントを理解した方法です)。
では、次のコードを実行すると、接続が正しく閉じられますか?
stream.Close();
server.Close();
これで十分ですか、それとも最初に(何らかの方法で)ストリーム(またはサーバー)を閉じることができるかどうかを確認する必要があります(接続が半分開いている場合など)...
さらに、NetworkStream.Close()MSDNのドキュメントには、リソース(ソケットも含む)が解放されると記載されているため、ストリームを閉じるだけで十分であり、それ以降はTcpClientを使用できなくなります。
正しいアプローチは何ですか?