.Net中Socket类如何判断客户端是否已关闭? 50
VB中的Winsock控件有Close事件,但在.Net中没有找到替代品。Socket类有Connected属性,但不能确定当前连接状态。MSDN的说法是“如果您需要确定...
VB中的Winsock控件有Close事件,但在.Net中没有找到替代品。
Socket类有Connected属性,但不能确定当前连接状态。
MSDN的说法是“如果您需要确定连接的当前状态,请进行非阻止、零字节的 Send 调用。如果该调用成功返回或引发 WAEWOULDBLOCK 错误代码 (10035),则该套接字仍然处于连接状态;否则,该套接字不再处于连接状态。”
但试过
xx.Send(byteArray, 0, 0, errorCode)
即使客户端已关闭,errorCode始终是0,也不会引发异常。
应该怎样判断连接是否已中断呢?
谢! 展开
Socket类有Connected属性,但不能确定当前连接状态。
MSDN的说法是“如果您需要确定连接的当前状态,请进行非阻止、零字节的 Send 调用。如果该调用成功返回或引发 WAEWOULDBLOCK 错误代码 (10035),则该套接字仍然处于连接状态;否则,该套接字不再处于连接状态。”
但试过
xx.Send(byteArray, 0, 0, errorCode)
即使客户端已关闭,errorCode始终是0,也不会引发异常。
应该怎样判断连接是否已中断呢?
谢! 展开
3个回答
展开全部
在.NET中,同步Socket需要通过检测收到的字节数判断连接是否断开,当连接返回的字节数为0的时候,则表示连接已经断开,需要重新建立连接,不过一些新手往往会忽略这个问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也是
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也想知道这个问题,等着哪位高手来指教!!!!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询