可以试试用Socket.Poll来检测是否有连接请求。
由于下例每次Poll只检测500毫秒,最多延迟半秒就能检测到isbreak的改变:
TcpListener listener = tl;while ( !isbreak )
{
if (listener.Server.Poll(500*1000, SelectMode.SelectRead)) //<--
{
TcpClient client = listener.AcceptTcpClient();
tclist.Add( client );
}
}
由于下例每次Poll只检测500毫秒,最多延迟半秒就能检测到isbreak的改变:
TcpListener listener = tl;while ( !isbreak )
{
if (listener.Server.Poll(500*1000, SelectMode.SelectRead)) //<--
{
TcpClient client = listener.AcceptTcpClient();
tclist.Add( client );
}
}
--------------完美的签名线-----------------
网页游戏开发第一站 http://dev.web863.com