Socket.Available是否保证在断开连接时抛出SocketException?

时间:2015-06-11 05:19:31

标签: c# sockets networking

以下信息在Socket.Available属性的MSDN文章中给出。

If the remote host shuts down or closes the connection, Available can throw a SocketException.

此处的关键字可以。我的问题是:

Socket.AvailableSocket.Receive()一样可靠,在断开连接时抛出SocketException,更直接地,在Socket.Available 的情况下抛出SocketException?

1 个答案:

答案 0 :(得分:0)

使用命令FIONREAD在内部Available is calling使用本机方法ioctlsocket,如果该函数返回SOCKET_ERROR,则会引发SocketException

因此,如果可以毫无错误地调用Socket.Available,则回答您的问题SocketException不会抛出ioctlsocket