为了检查邮件是否处于待处理状态,我可以使用Socket.Available
,但在调用Socket.Accept
之前,我应该怎么做以检查客户端是否尝试连接到我的服务器?
答案 0 :(得分:-2)
过了一段时间我找到了解决方案。只需将Socket.Blocking
属性设置为false
即可。然后Socket.Accept
函数将检查是否存在挂起连接,如果存在挂起连接,它将接受此连接,如果不是SocketException
则抛出SocketException.ErrorCode
等于至" 10035"。如果抛出错误代码" 10035"这种类型的异常,我会检查是否要退出,如果是,我会退出,如果不是,我将调用Socket.Accept
函数并重复过程
注意:可以使用相同的方法调用其他阻塞方法,实际阻止线程执行。
来源:
https://msdn.microsoft.com/en-us/library/system.net.sockets.socket.blocking(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v=vs.85).aspx