首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

怎么判断tcplistener是否正在侦听

2012-01-18 
如何判断tcplistener是否正在侦听?VB.NET codeWhile trueDim tcpclient As TcpClient tcplistener.Accep

如何判断tcplistener是否正在侦听?

VB.NET code
While trueDim tcpclient As TcpClient = tcplistener.AcceptTcpClientnext


当使用tcplistener.stop()后.会引发一个socketException异常 .一个封锁操作被对WSACancelBlockingCall的调用中断.

如何断定当前tcplistener是否还在侦听中呢?active属性是保护属性用不了.


如果通过判断Pending属性的话,倒也可以.

但是accepttcpclient是阻塞的.没有pending程序运行到这里后就一直停在这里直到有连接后在执行以后的语句.如果判断Pending的话,就会一直不停的循环判断.这样对CPU的占用率应该会比不判断高的多吧?

有没有别的办法解决这个问题呢?


[解决办法]
可以先用一个客户端连接来停下来的阻塞运行,然后设置条件让循环退出,这样就不会有错误发生了。

热点排行