基于libuv的TCP设计(一) html
基于libuv的TCP设计(二) git
1、第二版本的libuv_tcp已经基本可使用。不会出错与崩溃现象,支持几百路客户端同时链接。但是有一缺陷就占用CPU很是高。由于IDLE阶段一直检测有无数据须要发送,因此当服务器空闲时IDLE会空转,占用CPU。现在对此流程进行了改进。 github
2、改进 数据库
1.去掉prepare,check,idle事件 服务器
2.prepare里的判断用户关闭tcp和发送数据由uv_async_send代替 异步
3.从新定义客户端数据struct与发送数据的struct async
4.回收空闲handle,write_t时判断是否多出预计,多时不回收,直接释放。 tcp
5.Packet类改成PacketSync。同步解析数据库包,够一包直接触发回调给用户。再也不使用另外一线程异步解析。 spa
—————————————————————————————————————————————————————————————————————— 线程
代码已上传到git: https://github.com/wqvbjhc/libuv_tcp
本文版权归做者和博客园共有,来源网址:http://www.cnblogs.com/wqvbjhc/
欢迎各位转载,可是未经做者本人赞成,转载文章以后必须在文章页面明显位置给出做者和原文链接,不然保留追究法律责任的权利。