套接字可用是否保证在断开连接时引发套接字异常

本文关键字:套接字 连接 异常 断开 是否 | 更新日期: 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