博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
io_service work 的作用
阅读量:6330 次
发布时间:2019-06-22

本文共 445 字,大约阅读时间需要 1 分钟。

当有任务的时候,run函数会一直阻塞;但当没有任务了,run函数会返回,所有异步操作终止。

    客户端程序中,如果我想连接断开后重连,由于连接断开了,run会返回,当再次重连的时候,由于run返回了,即使连接成功了,也不会调用aysnc_connect绑定的回调函数。

 解决方法:

1,在再次重连的时候,要重新调用run函数,在调用的前一定要调用io_service::reset。以便io_service::run重用。

 

     boost::asio::io_service io_service_;

   io_service_.reset();

   io_service_.run();

 

2,用boost::asio::io_service::work。

     boost::asio::io_service io_service_;

     boost::asio::io_service::work work(io_service_); 

     io_service_.run();

 

  这样即使没有任务,run也不会返回了。

转载地址:http://jsfoa.baihongyu.com/

你可能感兴趣的文章
CIE-LUV是什么颜色特征
查看>>
apache服务器安装配置启停[CentOS]
查看>>
StanFord ML 笔记 第四部分
查看>>
Repository
查看>>
webpack 打包成功,但是css不起作用
查看>>
js:代码会说话-数据类型
查看>>
各种求职资料收藏
查看>>
Redis和消息队列使用实战
查看>>
ORB-SLAM2 with Kinect V1
查看>>
如果选择构建ui界面方式,手写代码,xib和StoryBoard间的博弈
查看>>
实现表格分页
查看>>
Number Sequence HDU - 1711 (Hash或KMP)
查看>>
js保留两位小数方法总结
查看>>
20145234黄斐《Java程序设计》实验一—Java开发环境的熟悉(Linux + Eclipse)
查看>>
commont-net.jar 代码结构图
查看>>
从零开始机器学习比赛经验(bird分享)
查看>>
LiveUpdate Adminstrator配置手册
查看>>
[转]推荐分享22个优秀的项目管理与协作工具
查看>>
php tcp socket 学习汇总
查看>>
浪潮之巅第十一章 — 幕后的英雄:风险投资(Venture Capital)
查看>>