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

哪个网站做公司业务广告效果好昆明网络营销公司哪家比较好

哪个网站做公司业务广告效果好,昆明网络营销公司哪家比较好,运城 网站制作,网站定制报价表2023.02.20 一次顿悟的经历 体验一次顿悟 ​ 需求: ​为避免接收数据时一直阻塞,先调用 select 在一定时间内判断是否有数据可读 如果超时,就报错没读到数据,即使返回 如果仍然在 set 里,就调用 recv 函数接收数据 问…

2023.02.20 一次顿悟的经历

体验一次顿悟

需求:
​为避免接收数据时一直阻塞,先调用 select 在一定时间内判断是否有数据可读
如果超时,就报错没读到数据,即使返回
如果仍然在 set 里,就调用 recv 函数接收数据

问题:
服务端发送数据是 3 秒发一次,
设置客户端超时 sec 为 5 秒,结果很快就返回了。

之前 5 秒超时时是接收第二个数据的时候报错
把超时时间从 5 秒改为 50秒,50/3 = 16,
显示成功接收且打印了16个数据,但第17个数据接收不到
每次接收数据都会打印接收长度,没有出现拼包的情况
说明一共调用了17次select函数
仿佛select计时是从最开始计的。。。
16次 recv 函数
recv 是非阻塞调用

服务端是不可能把前 16 个数据放在一起发送的
每 3 s 发送一次,然后依次有序接收、打印
第 17 个数据也不可能真的等待了 50 s
其实我之前在本地测试 fd_set 就有很奇怪的超时无效问题

磨叽一小时,突然就顿悟了:
select 函数最后一个参数传的是引用,timeval 结构体,每次会修改它,用了多少时间就从里面减去多少,所以越减越少,持续 “超时时间/发送间隔时间” 这么多轮次就刚好把时间用完了,退化为非阻塞接收数据,而服务端要过一段时间才发,导致误认为超时!

我以为它不会变化,所以只初始化了一次,为了减少运算的悲剧。。。

http://www.masaee.cn/news/205.html

相关文章:

  • 手机设置管理网站软件开发需要学什么
  • 台湾做网站营销文案
  • 广告页面模板网站推广网站排名优化seo教程
  • 汕头市住房和城乡建设局网站百度云搜索引擎入口盘搜搜
  • seo站长查询怎样创建自己的电商平台
  • 初中毕业想学动漫专业郑州seo排名第一
  • 平邑网站制作打开百度官网
  • 郑州手机网站建设公司新网站友链
  • 人大建设网站苏州网站维护
  • 成都网站建设 四川冠辰性价比高seo的排名优化
  • 哪里找做网站的客户sem竞价推广公司
  • 网站动效是代码做的吗竞价账户
  • 科学做视频网站如何做网络销售产品
  • 学做网站快吗seo网络推广到底是做什么的
  • 荥阳网站建设公司seo超级外链发布
  • 云盘可以做网站吗南京seo报价
  • 网站建设遇到的问题及解决方法优化人员配置
  • 网站建设编程seo零基础入门到精通200讲
  • p2p网站建设要多少钱app开发平台开发
  • 怎么做网站内部搜索功能链接购买
  • 开通招聘网站如何做分录百度app下载最新版
  • 大连网站制作中企动力免费的拓客平台有哪些
  • 网页显示网站正在建设中怎么做重庆seo招聘
  • 专业建设网站应该怎么做2345网址导航怎么下载
  • 河南网站建设途径有什么网站提交收录
  • 网站怎么做百度排名爱站关键词搜索
  • 网站底部有很多图标app代理推广合作50元
  • 网站模板怎么导入站长seo综合查询
  • 兰州企业 网站建设输入关键词自动生成标题
  • 做网站要什么技术自己建网站