首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Linux 非阻塞connect,异常码:EINPROGRESS

2012-10-18 
Linux 非阻塞connect,错误码:EINPROGRESSLinux 非阻塞connect,错误码:EINPROGRESSEINPROGRESS 115 /* Oper

Linux 非阻塞connect,错误码:EINPROGRESS
Linux 非阻塞connect,错误码:EINPROGRESS

EINPROGRESS 115 /* Operation now in progress */

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


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

热点排行