我正在使用C#的ElSSLSocket.这是一个SecureBlackBox套接字.SecureBlackBox是处理安全套接字的第三方库.
我可以看到ElSSLSocket对象有一个名为'Socket'的属性,因此底层套接字是一个普通的.NET套接字.
我的问题是,是否存在某种我可以订阅的事件,以便我可以看到套接字何时不正常地断开连接?我有一个客户端服务器连接,经常会断开连接.很难看出它是客户端还是服务器,很难看到实际原因.
我很确定应用程序中存在一些逻辑问题,即这不是由网络中断或类似的东西引起的.
我还应该告诉你,我得到的断开是这个错误,
SocketException - 远程主机强制关闭现有连接
ErrorCode - 10054
如果有任何方法我可以找到原因吗?
检测半开连接是经典的套接字编程场景之一。该Socket.Connected
属性完全无用,并且Socket.Poll
不适用于所有情况。最好每隔几秒钟发送一次“心跳”消息。
10054 是常见错误之一。这意味着连接已丢失(未完全关闭)。它可能是由远程计算机关闭、远程进程退出、甚至中间路由器重新启动引起的。
归档时间: |
|
查看次数: |
2272 次 |
最近记录: |