默认 socket 是阻塞的 解阻塞与非阻塞recv返回值没有区分,都是 <0 出错; =0 连接关闭; >0 接收到数据大小;

特别:

  • 只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会阻塞着读,因此需要循环读取。

返回说明:

  1. 成功执行时,返回接收到的字节数;
  2. 另一端已关闭则返回0;
  3. 失败返回-1;
  • 返回值<0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况下认为连接是正常的,继续接收。
printf("======== START READ ========");
recv(socketHandle, buff, 4*1024, 0);
printf("======== END READ ========");
//4*1024 表示一次性读取的最大字节数
//打印信息,开始收到接收完需要343ms,很可能在的时候,对端正在写;
//[03Jan20 21:54:35:998] 222258,0548,level:06,-======== START READ ========
//[03Jan20 21:54:36:341] 222258,0549,level:06,-======== END READ ========

recv函数的返回值梳理相关推荐

  1. c语言recv函数返回值,谈谈recv()函数的返回值

    网上某论坛有这样一个问题:当recv()函数的返回值为0时,能不能在接收端不关闭套接字,以便这条建立好的C/S通信下次可以直接使用? 我对这个问题的回答是:不能. 原因是:此时即使接收端不关闭套接字, ...

  2. 非阻塞模式下 SEND 和 RECV 函数的返回值总结

    send 和 recv 函数的各种返回值意义: 返回值 n 返回值含义 大于 0 成功发送 n 个字节 0 对端关闭连接 小于 0( -1) 出错或者被信号中断或者对端 TCP 窗口太小数据发不出去( ...

  3. wpf 窗口的返回值_如何:获取页函数的返回值

    如何:获取页函数的返回值How to: Get the Return Value of a Page Function 03/30/2017 本文内容 本示例显示如何获取页函数的返回值.This ex ...

  4. getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析...

    2013-07-18 21:35:58 getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析. char是字符型数 ...

  5. ajax回调函数的返回值,使用ajax和回调函数向函数传递/返回值

    我试图读p_info函数返回从函数getproductInfo包含ajax调用,但我得到未定义的值.我使用回调函数来实现这一点,但仍然无法正常工作.我错在哪里?使用ajax和回调函数向函数传递/返回值 ...

  6. Long类型传到前端失去精度(2):Long类型不是实体类的某一个字段,Long类型是一个函数的返回值

    Long类型传到前端失去精度(2):Long类型不是实体类的某一个字段,Long类型是一个函数的返回值 又是转换Mybatis-Plus的一天,又遇到了之前熟悉的问题:Long类型传到前端失去精度.可 ...

  7. C++知识点8——函数的返回值

    函数的返回值不能是数组或函数,但是可以是是数组和函数的指针或引用 函数返回一个值的过程和初始化完全一致,先创建一个临时变量,用返回值初始化该临时变量,然后用该临时变量去初始化另一个变量或者给另一个变量 ...

  8. 函数的初识;函数的返回值;函数的传参

    函数的初识: 避免重复代码,增强可读性. 函数是以功能为导向的. def 函数名(形参): 函数体 函数名() 实参 def 关键字 函数名(与变量命名规则一样) 1.由数字字母下划线组成 2.不能由 ...

  9. Swift2.0语言教程之函数的返回值与函数类型

    Swift2.0语言教程之函数的返回值与函数类型 Swift2.0中函数的返回值 根据是否具有返回值,函数可以分为无返回值函数和有返回值函数.以下将会对这两种函数类型进行讲解. Swift2.0中具有 ...

  10. Python基本语法_函数_返回值

    目录 目录 前言 函数的返回值 在函数中Return和Print的区别 函数中的文档 前言 函数的返回值是函数重要的组成部分.函数的根本在于实现程序的部分功能,所以很多时候我们需要将函数执行后的结果返 ...

最新文章

  1. 基于 Webpack 3 的 React 工程项目脚手架
  2. 非常好!!!---bash转义序列笔记---打印语句printf用法【转】
  3. linux docker 报错 Failed to get D-Bus connection: Operation not permitted
  4. Firefox 网络调试工具
  5. 正则表达式 小结 经典解决方案[1]
  6. sql server中的decimal或者numeric的精度问题 (转载)
  7. 企业级控件库之大数据量分页控件 (非原创)
  8. xp系统web服务器搭建教程,Windows_XP配置WEB服务器教程(图)
  9. 如何将iPhone应用程序从应用程序库移动到主屏幕
  10. ANSIBLE--handlers的概念
  11. 拦截导弹(信息学奥赛一本通-T1289)
  12. 地震勘探专业词汇(1)
  13. oracle条件批量更新表数据
  14. P2604 [ZJOI2010]网络扩容
  15. 质疑“扩版=质量下降”——以《中国农学通报》和《安徽农业科学》为例
  16. linux环境systwm.img解包,[教程] system.img解包打包的方法,方便菜鸟们制作直刷ROM...
  17. 智能语音市场有多大? 阿里巴巴将如何破局后来者居上?
  18. ValueError: This sheet is too large! Your sheet size
  19. 光猫需要已经开通了 telnet 功能
  20. ModuleNotFoundError: No module named 'pytz'

热门文章

  1. XP操作系统安装的硬盘空间要求
  2. python 省份排序_Python常用的排序
  3. C# 中文简体中文繁体转换_ChineseConverter
  4. [算法导论] 邮递员问题代码c++实现,Floyd算法+dp,求遍历所有边回到起点的最短路径
  5. Email Header 是什么
  6. LCD液晶拼接屏优势凸显受市场欢迎
  7. Android 文件选择/文件管理
  8. HTML5工程师利用原生js开发百度搜索黑洞漩涡特效
  9. Struts1框架轻易入门,经典示例
  10. HMC5883L电子罗盘原理及应用,全网最详细~