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

陕西做网站电话营销型网站建设企业

陕西做网站电话,营销型网站建设企业,市场推广策略 包括哪些,西亚网站建设科技增加发送节点 构造发送节点,管理发送数据。发送节点的类如下。 这个发送节点用于保证发送和接收数据的有效性。 增加发送队列 前边实现的是一个简单的echo服务器,也就是服务器将收到的内容发送给对应的客户端。但是在实际的服务器设计中,服务…

增加发送节点

构造发送节点,管理发送数据。发送节点的类如下。

这个发送节点用于保证发送和接收数据的有效性。

增加发送队列

前边实现的是一个简单的echo服务器,也就是服务器将收到的内容发送给对应的客户端。但是在实际的服务器设计中,服务器是全双工工作的,也就是说,服务器会一直监听客户端的写事件,而在发送的过程中是可以在任意的时刻发送的。也就是说,实现全双工通信,需要对服务器的收发进行分离。

对于异步收发,也就是要实现一个读接口和写接口。但是,对于boost::asio会有一个问题,就是当调用async_read_some或者async_read_write的时候,由于tcp的缓冲区不够,会导致发送或者接收数据的时序错乱。大家可以参考我的这篇博客boost asio异步api(1)_asio 异步http服务端-CSDN博客

因此,我们需要维护一个发送队列,保证发送的时序性。但是,作为服务器的发送队列还需要考虑安全性,就是当多个客户端的线程来访问时的安全性。服务器调用发送接口基本上都是逻辑线程和boost::asio返回的网络线程不是一个线程,所以还应该给发送队列增加一把互斥锁,保证安全性

改造发送接口

这里需要介绍一下std::lock_guard这个类,这是c11的新特性,这里的泛型是std::mutex,send_lock是std::mutex的锁,这里生成的lock会随着作用域的结束,自动解锁。

改造接收接口

完整代码如下

codes-C++: C++学习 - Gitee.com

这里的服务器虽然实现了收发分离,但还是有缺陷,比如粘包问题。

http://www.dinnco.com/news/71845.html

相关文章:

  • 物流公司网站建设方案软文是什么
  • 武汉网站建设dw027完善的seo网站
  • o2o网站建设公司上海专业的网络推广
  • html布局模板株洲seo快速排名
  • 网站建设需要什么教材2021国内最好用免费建站系统
  • jsp源码做网站郑州搜索引擎优化公司
  • 网站定制需求可口可乐网络营销策划方案
  • 营销网站做推广太原百度推广开户
  • 怎样做网站优化排名北京网站制作
  • 公司网站开发合同 华律网茂名seo快速排名外包
  • 招聘网站分析如何做中南建设集团有限公司
  • 简单网站html模板下载地址苏州seo网站系统
  • 德州做网站搜索引擎优化实验报告
  • 任何用c语言做网站skr搜索引擎入口
  • 网站内页做几个词东莞网站关键词优化公司
  • 沈阳世纪兴网站建设免费网络项目资源网
  • 部署一个网站要做哪些工作经济新闻最新消息财经
  • 室内设计学校培训的重庆seo的薪酬水平
  • wordpress 安装 403太原百度seo
  • 龙岗附近网站建设免费seo视频教程
  • 做企业网站公司外链工具xg
  • 公司做网站做什么类型的网站好南宁网
  • 完整的网站后台权限编码最近发生的热点新闻
  • 公司企业网络推广seo和sem的联系
  • 新中式装修风格效果图平原县网站seo优化排名
  • 做盗链网站正规培训机构有哪些
  • 专做定制网站建设站长工具seo综合查询降级
  • 网站建设经费估算成都关键词自然排名
  • 外行怎么做网站制作公司网站大概多少钱
  • 中国农业建设网站武汉seo群