2

以下の例のようにソケットへの書き込みに tcpclient を使用する場合

サーバ:

tcpListener.Start(PendingClientCount);
tcpListener.BeginAcceptTcpClient(OnAcceptCompleted, null);
////and more code

クライアント:

var client = new TcpClient();
client.Connect(new IPEndPoint(IPAddress.Loopback, 50000));
var clientStream = client.GetStream();
if (clientStream.CanWrite)
{
  clientStream.Write(preparedPackage, 0, preparedPackage.Length);
}
clientStream.Close();
client.Close();

tcpListener.Close() と Dispose() を呼び出してサーバーを閉じた後、バイトをネットワーク ストリームに書き込むことができ、それらは「どこにも」行きません。一定の時間間隔 (約 2 分) が経過した後、ネットワーク ストリームの試行が (ついに) 失敗します。

ソケットに書き込もうとしたときに、反対側のソケットを誰もリッスンしていないことを検出する可能性はありますか?

4

0 に答える 0