C# Socket.send阻塞

来源:互联网 发布:淘宝手机怎么添加分类 编辑:程序博客网 时间:2024/05/16 14:19

阻塞socket适合发送大量的数据,默认send超时为无限大。对阻塞理解不深刻的初学者,可能会犯如下错

 

Sever:

while(true)

{

        int rev = socket.recieve(buff);

      if(rev===0) return ;  //这个时候永远不可能==0

      处理buff数据,和客户端对话。

      send();

客户端:{

       int rev = socket.recieve(buff);

      if(rev===0) return ; 

      处理buff数据,和服务器对话。

      send();

 

}

可以这是Timeout使得send异常,此后非现实调用将socket变为阻塞的,此时socket为非阻塞的。
原创粉丝点击