【发布时间】:2012-08-03 19:03:48
【问题描述】:
我正在这里构建c# 示例https://github.com/coolaj86/fizzbuzz/blob/master/tcp-echo-csharp/Main.cs 并针对netcat 运行它。
当我使用 CTRL + C 退出 netcat 时,它会关闭套接字并得到
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”或“结束”等的事件),但我修改了示例以打印出一条消息读取 0 个字节,我没有看到任何消息。
如何处理客户端关闭连接?
我正在寻找诸如“使用System.Net.Foo.Bar.CloseHandler() 或System.Net.Foo.Bar.ErrorHandler()”之类的答案。
【问题讨论】:
标签: c# tcplistener