c#
ここで例を作成しています https://github.com/coolaj86/fizzbuzz/blob/master/tcp-echo-csharp/Main.csに対して実行しnetcat
ます。
+で終了netcat
すると、ソケットが閉じられ、取得されますCTRLC
Unhandled Exception: System.Net.Sockets.SocketException: Connection reset by peer
at System.Net.Sockets.Socket.EndReceive (IAsyncResult result) [0x00000] in <filename unknown>:0
at echo.AsynchronousSocketListener.ReadCallback (IAsyncResult ar) [0x00000] in <filename unknown>:0
私が使用した他の言語では、FIN は 0 バイトの読み取り (または「FIN」または「end」などと呼ばれるイベント) として表されますが、読み取りのメッセージを出力するように例を変更しました。 0 バイトで、メッセージが表示されません。
接続を閉じるクライアントを処理するにはどうすればよいですか?
System.Net.Foo.Bar.CloseHandler()
「使うか」などの答えを探していますSystem.Net.Foo.Bar.ErrorHandler()
。