首页 聚焦 财经 产业 证券 股市 商业 民生 IPO 点评 IPhone客户端 安卓客户端
首页/上市公司

1

connect非阻塞模式下返回-1出现错误码Einprogress
2020-08-10

当connect在非阻塞模式下,会出现返回-1值,错误码是EINPROGRESS,但如何判断connect是联通的呢?stevens书中说明要在connect后,继续判断该socket是否可写?
若可写,则证明链接成功。如何判断可写,有2种方案,一种是select判断是否可写,二用poll模型。

调用connect连接一般的超时时间是75s, 但是在程序中我们一般不希望等这么长时间采取采取动作。 可以在调用connect之前设置套接字非阻塞,然后调用connect,此时connect会立刻返回, 如果连接成功则直接返回0(成功), 如果没有连接成功,也会立即返回并且会设置errno为EINPROCESS,这并不是一个致命错误,仅仅是告知你已经在连接了,你只要判断是它就继续执行后面的逻辑就行了,比如select.通过select设置超时来达到为connect设定超时的目的. 下面的代码显示这个过程。

声明:登载此文出于传递信息之目的,本站仅供信息保存,如有异议请联系我们修订!
点赞
编辑:中证
中证新闻网
中证新闻网
中证点评更多

    在西藏昌都一望无际的牧场上,一...[详细]

民生经济更多
中证新闻网
科创板块更多
热搜汇聚更多
  • 合作: 商洽与内容纠错联系方式
  • Email:894204689@qq.com
  • CopyRight@2008-2024 中国证券新闻 All Right Reserved

    工信备案号:备案号京ICP(备)15095275

    中国证券新闻版权所有违者必究