我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

recv一直返回-1,过了很久才返回0

linux下使用非阻塞的socket编程使用recv接收数据

img

如图,发送请求过来后会遇到recv返回-1,errno是EAGAIN,重新循环读数据,必须要等超长时间(大概十分钟),recv才会返回0,完成读取,否则就一直陷入循环。
怎么办。

望采纳。。

recv 等于-1 的时候,一般是连接断开。

如果没有断开,你可以尝试调用一下 close(m_sockfd),然后重新去创建初始化一个 m_sockfd,再去调用 recv 去等待接收。

近期文章

  • 怎么不连接网络使用openai gpt-3详细教程
  • 字符串指针变量输入输出
  • 逆变电路ds反向二极管作用是什么
  • 使用php忽略隐藏文件[重复]
  • Django搭建网页_init_等窗口闪退问题(提问)
  • 关于今天在刷题碰到mysql的正则表达式的问题
  • windows 的docker安装问题
  • 关于#es#的问题,如何解决?(keyword类型,自定义权重排序)
  • 在微信小程序开发微信支付的过程中出现的问题:
  • php彩票走势图算法
  • 毕设所需的油田生产数据集可以在那儿找
  • js点击事件发生的问题
  • 从MySQL数据库中删除重复的条目
  • FPGA uart USB转串口通信怎么改装为无线通信方式
  • 资源网站或小程序需要学什么
  • PMOS管做的开关不能正常闭合
  • pytorch做故障诊断遇到的问题
  • 关于memcpy复制内容出错
  • 消除了部分函数依赖的1nf的关系模式必定是2nf
  • 音乐如何播放,我为什么没听见音乐

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华