基于libuv的TCP设计(三)

 

基于libuvTCP设计(一) html

基于libuvTCP设计(二) 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/ 

欢迎各位转载,可是未经做者本人赞成,转载文章以后必须在文章页面明显位置给出做者和原文链接,不然保留追究法律责任的权利。 
相关文章
相关标签/搜索