Dar*_*ar1 3 .net c# sockets polling
我想知道当只有一个条件(数据可用于读取)时,是否有一种方法可以在c#中轮询套接字,我知道socket.Poll方法但是如果有任何数量的话,这可以返回true指定的3个条件返回true,如下所示:MSDN:Socket.Poll
根据MSDN文档,有三个原因返回true
Poll(microSeconds, SelectMode.SelectRead);
Listen()已被调用且连接未决让我们看看我们是否可以区分它们:
Listen()以前是否曾被召唤过,所以如果你没有,你就不需要考虑这个原因.Poll()返回后立即检查套接字的状态.结论:
不需要考虑
每次返回true时,可以通过检查套接字状态来处理.
所以我会去(未经测试):
if (s.Poll(microSeconds, SelectMode.SelectRead)))
{
if (!s.Connected)
// Something bad has happened, shut down
else
// There is data waiting to be read"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12424 次 |
| 最近记录: |