socket中的connect提示报错:errno = “EINPROGRESS“

socket中的connect提示报错:errno = “EINPROGRESS“socketconnectioctlsocketerror.h#defineEINPROGRESS115/*Operationnowinprogress*/

大家好,又见面了,我是你们的朋友全栈君。

在编写Socket程序时候,在使用connect连接时,errno提示报错,打印消息是EINPROGRESS,查询代码如下,意思是操作正在运行。

#define  EINPROGRESS 115  /* Operation now in progress */

 下面是我的编程流程

  1. 建立socket
  2. ioctlsocket设置非阻塞
  3. connect连接

再去官方网站查看connect接口,返回EINPROGRESS的官方描述:https://man7.org/linux/man-pages/man2/connect.2.html

EINPROGRESS
              The socket is nonblocking and the connection cannot be
              completed immediately. 

刚好我设置的非阻塞,调用connect接口不能立马建立连接,所以就会报这个错误。

于是修改逻辑如下即可解决问题:

  1. 建立socket
  2. connect连接
  3. ioctlsocket设置非阻塞

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160545.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java前端开发自动生成器_一个简单实用的java代码生成器

    java前端开发自动生成器_一个简单实用的java代码生成器做现在这破项目boss还觉得进度慢,时间其实都浪费在了基础的CRUD上了,一个上午好不容易调通从action到service在到dao在到数据库的crud。工欲善其事必先利其器,有一款趁手的工具可有效提高开发效率,推荐一个简单实用的在线java代码生成器。代码生成器只是xjr快速开发框架功能的一部分。这款代码生成器是一款国内最新自主研发的JAVA代码自动生成器,目前来看这是一款十分赞的代码…

    2022年5月23日
    44
  • java数据导出为excel表格_将数据库表中数据导出到文本文件

    java数据导出为excel表格_将数据库表中数据导出到文本文件公司开发新系统,需要创建几百个数据库表,建表的规则已经写好放到Excel中,如果手动创建的话需要占用较长的时间去做,而且字段类型的规则又被放到了另一张表,如果手动去一个一个去匹配就很麻烦,所以我先把两张表都导入数据库中,建表的数据如下:其中字段类型被存放到了另一个表中,根据字段的code从另一表去取字段类型:然后通过java程序的方式,从数据库中取出数据自动生成建表语句,代码如下:(主要是提供思路,对于不同的建表规则不能完全适用,SQL语句为oracle数据库SQL语句)importjava.i

    2025年10月4日
    3
  • MySQL——MySQL 图形化管理工具的介绍

    MySQL——MySQL 图形化管理工具的介绍文章目录MySQL——MySQL图形化管理工具的介绍1、MySQLWorkbench2、Navicat3、SQLyog4、DBeaver5、DataGripMySQL——MySQL图形化管理工具的介绍MySQL图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有:MysQLWorkbench、phpMyAdmin、NavicatPreminum、MySQLDumper、SQLyog、dbeaver、MysQLODBcConnector、DataGrip。1、MySQL

    2022年6月30日
    22
  • QT从下载到安装的具体教程

    QT从下载到安装的具体教程123

    2022年5月17日
    34
  • fdfs启动_procfs

    fdfs启动_procfsuser/bin下命令fdfs_trackerd/etc/fdfs/tracker.conf/etc/fdfs/tracker.conf配置文件所在位置fdfs_storaged/etc/fdfs/storage.conf

    2022年10月7日
    2
  • linux history命令常用方法

    linux history命令常用方法c清空内存中命令历史-d#删除指定的历史命令,比如history-d100,就是删除第100个命令历史history+nn代表行例如history500查看最近500行命令历史记录

    2022年7月16日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号