以下信息在Socket.Available
属性的MSDN文章中给出。
If the remote host shuts down or closes the connection, Available can throw a SocketException.
此处的关键字可以。我的问题是:
Socket.Available
和Socket.Receive()
一样可靠,在断开连接时抛出SocketException,更直接地,在Socket.Available
不的情况下抛出SocketException?
答案 0 :(得分:0)
使用命令FIONREAD
在内部Available
is calling使用本机方法ioctlsocket
,如果该函数返回SOCKET_ERROR
,则会引发SocketException
。
因此,如果可以毫无错误地调用Socket.Available
,则回答您的问题SocketException
不会抛出ioctlsocket
。