当前位置: 首页 > news >正文

网站建设公司有哪店铺设计软件

网站建设公司有哪,店铺设计软件,深圳高端网站制作公司,英文企业网站建设recv是socket编程中最常用的函数之一#xff0c;在阻塞状态的recv有时候会返回不同的值#xff0c;而对于错误值也有相应的错误码#xff0c;分别对应不同的状态#xff0c;下面是我针对常见的几种网络状态的简单总结。首先阻塞接收的recv有时候会返回0#xff0c;这仅在对…        recv是socket编程中最常用的函数之一在阻塞状态的recv有时候会返回不同的值而对于错误值也有相应的错误码分别对应不同的状态下面是我针对常见的几种网络状态的简单总结。首先阻塞接收的recv有时候会返回0这仅在对端已经关闭TCP连接时才会发生。而当拔掉设备网线的时候recv并不会发生变化仍然阻塞如果在这个拔网线阶段socket被关掉了后果可能就是recv永久的阻塞了。         所以一般对于阻塞的socket都会用setsockopt来设置recv超时。当超时时间到达后recv会返回错误也就是-1而此时的错误码是EAGAIN或者EWOULDBLOCKPOSIX.1-2001上允许两个任意一个出现都行所以建议在判断错误码上两个都写上。如果socket是被对方用linger为0的形式关掉也就是直接发RST的方式关闭的时候recv也会返回错误错误码是ENOENT还有一种经常在代码中常见的错误码那就是EINTER意思是系统在接收的时候因为收到其他中断信号而被迫返回不算socket故障应该继续接收。但是这种情况非常难再现我尝试过一边一直在不停的发信号一边用recv接收数据也没有出现过。这种异常错误我附近只有一个朋友在用write的时候见到过一次但是总是会有概率出现的所以作为完善的程序必须对此错误进行特殊处理。 一般设置超时的阻塞recv常用的方法都如下 while(1) {cnt (int)recv(m_socket, pBuf,RECVSIZE, 0);if( cnt 0 ){;//正常处理数据}else{if((cnt0) (errno EAGAIN||errno EWOULDBLOCK||errno EINTR)) //这几种错误码认为连接是正常的继续接收continue;//继续接收数据}break;//跳出接收循环 }阻塞与非阻塞recv返回值没有区分都是 0 出错 0 连接关闭 0 接收到数据大小。 Linux环境下须如下定义 struct timeval timeout 3,0; //设置发送超时 setsockopt(socketSOL_SOCKET,SO_SNDTIMEO(char *)timeout,sizeof(struct timeval)); //设置接收超时 setsockopt(socketSOL_SOCKET,SO_RCVTIMEO(char *)timeout,sizeof(struct timeval));
http://www.zqtcl.cn/news/630378/

相关文章:

  • 南通电商网站建设网站设计制作电话多少
  • 微网站搭建流程郑州市金水区建设局官方网站
  • 手工活接单在家做有正规网站吗网站开发的职责与分工
  • 网站程序系统信阳建网站
  • 站长工具关键词排名怎么查深企在线
  • 长垣县建站塔山双喜网站被抓取
  • 如何更改网站的关键词企业商务网站有哪些
  • 太阳能建设网站运城个人网站建设
  • 网站建设 起飞最好的免费logo设计网站
  • 提供网站建设设计wordpress数据库查询很慢
  • 可以自己做漫画的网站怎么才能学网页设计
  • 能盈利的网站网站运营经验
  • 咸宁网站建设价格创建app需要什么条件
  • 一个静态网站多少钱谷歌推广公司哪家好
  • 做体育的网站c2c跨境电商平台有哪些?
  • 山西响应式网站建设推荐全国企业信用信息公示系统浙江
  • 西安做网站维护的公司百度百科官网入口
  • 网站网站建设公司贵阳网站设计阳光创信好吗
  • 网站广告投放收费标准长沙公司制作网站费用
  • 网站建设有哪些环节做一个产品网站要多少钱
  • 公司网站建设价格河北网站制作 网站开发
  • 适合新手做的网站项目职业技术培训
  • 提高网站流量原则昆山做百度网站
  • 怎样设计自己的网站长春制作门户网站的公司
  • 亚马逊商标备案是否必须做网站Wordpress做APP后端
  • 主办单位性质与网站名称不符网站域名怎么买
  • 帝国cms下载类网站怎么做广州外贸营销网站建设公司
  • 网站开发软件开发流程免费做外贸的网站平台有哪些
  • 教育培训网站开发广告公司怎么设置网站关键字
  • 绩溪建设银行网站济南网站建设 刘彬彬