`
lionvp
  • 浏览: 30219 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Linux 非阻塞connect,错误码:EINPROGRESS

 
阅读更多
Linux 非阻塞connect,错误码:EINPROGRESS

EINPROGRESS 115 /* Operation now in progress */

        这是正确的。和windows不同的是,这里显示EINPROGRESS,windows应该是EWOULDBLOCK。感觉linux的这种表述更准确一些,确实是EINPROGRESS (正在处理),而EWOULDBLOCK应该是在网卡或者系统繁忙、无法及时处理数据。


当我们以非阻塞的方式来进行连接的时候,返回的结果如果是 -1,这并不代表这次连接发生了错误,如果它的返回结果是 EINPROGRESS,那么就代表连接还在进行中。 后面可以通过poll或者select来判断socket是否可写,如果可以写,说明连接完成了
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics