套接字可用是否保证在断开连接时引发套接字异常
本文关键字:套接字 连接 异常 断开 是否 | 更新日期: 2023-09-27 17:55:19
以下信息在 MSDN 关于 Socket.Available
属性的文章中提供。
If the remote host shuts down or closes the connection, Available can throw a SocketException.
这里的关键词是可以。 我的问题是:
Socket.Available
是否与Socket.Receive()
一样在断开连接时抛出套接字异常,更直接地说,在什么情况下Socket.Available
不会抛出套接字异常?
在内部,Available
正在使用命令FIONREAD
调用本机方法ioctlsocket
,如果该函数返回SOCKET_ERROR
则引发SocketException
。
因此,要回答您的问题Socket.Available
当可以毫无错误地拨打ioctlsocket
电话时,请不要抛出SocketException
。