各位好,今天遇到一个奇怪的问题。在写socket客户端的程序时,发现connect()函数有时阻塞,有时非阻塞。且大部分时间是非阻塞的。下面是代码:

socket_list[i].socket = socket(AF_INET,SOCK_STREAM,0);

setsockopt(socket_list[i].socket,SOL_SOCKET,SO_KEEPALIVE,&optval,sizeof(optval));

address.sin_family = AF_INET;

address.sin_addr.s_addr = netParam.srv[i].ip.s_addr;

address.sin_port = htons(netParam.srv[i].port);//(in_port_t)->(uint16_t)

len = sizeof(address);

printf("connect to srv %dn",i);

result = connect(socket_list[i].socket,(struct sockaddr *)&address,len);

if(result == -1)

{

socket_list[i].used = 0;

socket_list[i].pass = 0;

printf("can not connected to server %d.n",i);

}

else

{

printf("connected to server %d.n",i);

socket_list[i].used = 1;

xml_request(i);

}

请大家帮忙看看是啥个问题么,谢谢了。

linux函数阻塞,Linux下connect()函数阻塞与非阻塞相关推荐

  1. Linux下connect函数 阻塞 与 非阻塞 问题

    一.概述 linux系统下,connect函数是阻塞的,阻塞时间的长度与系统相关.而如果把套接字设置成非阻塞,调用connect函数时会报错Operation now in progress,且err ...

  2. wireshark使用教程 linux,Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕...

    Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕 Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关 ...

  3. linux中c语言kbhit函数用法,C语言判断用户是否输入-非阻塞函数kbhit

    一.基础研究 要从地址读取数据,肯定是要定义一个指针变量p,用它来实现变换地址和取值的功能.另外程序是当两个条件中的某一个出现时才停止,所以应该用while~do循环语句循环输出n和d,并用while ...

  4. 【Linux】进程等待wait/waitpid status详解 (非)阻塞等待(代码)

    文章目录 进程等待原因 进程等待方法 wait waitpid 获取子进程status (非)阻塞等待 进程的非阻塞等待方式代码 进程的阻塞等待方式代码 进程等待原因 fork创建了子进程,子进程帮父 ...

  5. 非阻塞情况下connect产生EINPROGRESS错误

    //原文地址:http://blog.csdn.net/saspss/article/details/8487678 .... 今天,在调试socket,非阻塞模式下,发现连接服务器时connect老 ...

  6. Socket 非阻塞模式下connect 返回EINPROGRESS(115)错误

    今天再测试socket的时候,发现一个很奇怪的问题,就是客户端再connect的时候第一次connect总是会返回-1,errno是115,往往第二次连接就可以成功了.但是对于服务端来说,第一次连接已 ...

  7. instr函数 mysql_MySQL数据库下 INSTR函数功能简介说明

    摘要: 下文讲述MySQL数据库下INSTR函数的功能及举例说明,如下所示: MySQL INSTR 功能及语法说明 INSTR 函数功能,返回指定字符串在源字符串的起始位置 INSTR 函数语法: ...

  8. mysql异步非阻塞方式_如何理解swoole异步非阻塞?

    传统的apache2handler或php-fpm本质上都是短生命周期(请求后释放资源)的FastCGI运行模式. 请求来了,master进程会调用worker进程来处理,处理完后释放资源. 假设你在 ...

  9. 非阻塞式编程 php,简单介绍PHP非阻塞模式

    非阻塞模式是指利用socket事件的消息机制,Server端与Client端之间的通信处于异步状态. 让PHP不再阻塞当PHP作为后端处理需要完成一些长时间处理,为了快速响应页面请求,不作结果返回判断 ...

最新文章

  1. 切换JAVAC的方法
  2. Android中五种常用的menu
  3. java版b2b2c社交电商springcloud分布式微服务 (九)服务链路追踪(Spring Cloud Sleuth)...
  4. Win10開始菜单打不开
  5. 抓wifi包工具linux,测试工具之在Ubuntu使用Wireshark抓无线数据包
  6. commons-lang3之StringUtils
  7. C# 或Asp.Net 将excel表格导入数据库
  8. (转)Spring Boot (十):邮件服务
  9. MFC画图(画线、画矩形、画刷画笔的使用)
  10. linux之创建大文件
  11. 零基础入门语义分割——Task1 赛题理解
  12. [转]隐马尔科夫模型HMM
  13. 大数据Hadoop学习文章汇总
  14. 机器学习入门-用Java实现简单感知机
  15. mysql workbench安装配置_Mysql WorkBench安装配置图文教程
  16. Java 基础 - List 遍历时为什么不能通过 for 循环进行删除,而使用 Iterator 可以 ?
  17. 京东云php环境配置,干货 | 京东云应用负载均衡(ALB)多功能实操
  18. 电子邮件营销与MailChimp。它是适合你
  19. 阿里达摩院最新FEDformer,长程时序预测全面超越SOTA | ICML 2022
  20. Torchlight(火炬之光)换装实现

热门文章

  1. TD公链超级节点竞选
  2. (原創) 今晚重看中森明菜1988年的演唱会 (中森明菜) (日記)
  3. Qml Flickable
  4. 大学生网购调查问卷统计分析报告
  5. 清华学霸讲计算机,清华学霸直博简历火了:CPU、操作系统、编译器全自己写
  6. 蓝桥杯 结果填空 奇怪的比赛 dfs
  7. 620 dell 风扇最大_Dell PowerEdge T640 风扇噪音问题的解决
  8. 从零开始的腾讯云使用体验-4-搭建nginx+uwsgi+django
  9. GC与内存分配面试知识总结
  10. YDB基本使用详解(转)