首页
学习
活动
专区
工具
TVP
发布

H2Cloud

专栏作者
71
文章
108576
阅读量
36
订阅数
FF ASIO 异步消息网络框架
在前边 https://cloud.tencent.com/developer/article/1056482 我提到,针对前面使用boost asio 中遇到的问题,对asio进行封装,如下几个目标: 1. 创建socket、acceptor不再自己构造io_service,由于asio中的对象均要保存io_service的引用,   若要手动构造,必须保证io_service晚于所有的asio对象(如socket、acceptor)释放,但是往往socket被逻辑层保存在某个内存深处,任意一个socke
知然
2018-03-09
1.3K0
使用epoll&socket的总结
1. epoll 中使用et方式触发,只需EPOLL_CTL_ADD一次,把EPOLLIN  EPOLLOUT 事件全注册,每个socket只需创建add一次,其事件就会      一直在epoll中,当然,socketclose 后应DEL掉。 2. ET触发方式是指当fd到状态发生变化时通知,如read buffer从无到有,write buffer从满到不满才会通知。 3. 若要将accept的文件描述符添加到epoll,那么同样需要将socket设置为nonblock,调用accept时要循环读,直
知然
2018-03-09
1K0
FFLIB网络框架单线程0.0.1版本-epoll_socket
更新:      封装了epoll和socket,目前是单线程版本 问题:      对于epoll_wait操作,何时将会触发EPOLLERR?      服务器端close掉socket时候,如何保证EPOLLIN不会再触发,按理说close之后是不会有EPOLLIN,但是多线程时,有可能有EPOLLIN排在close后边      执行,那么什么时候才能确定epoll_wait中再也不会有事件到来?因为这时候才能干净的将socket 对象delete掉。 代码仓库: https://ffown.goo
知然
2018-03-09
5100
Boost ASIO proactor 浅析
Boost ASIO proactor 浅析 前情提要: Boost asio 的socket的异步非阻塞模式才有的是proactor模式,当IO操作介绍后回调相应的处理函数。ASIO在Linux平台下的实现基于epoll,但是epoll只支持reactor模式,ASIO通过封装在epoll上实现了proactor。提到ASIO proactor,ASIO中的所有异步操作都是基于io_service实现的,io_service是ASIO中的任务队列,并且他负责调用epoll_wait等待IO事件到来,对io
知然
2018-03-09
2.3K0
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战,赢鹅厂证书、公仔好礼!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档