Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2631284
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类: C/C++

2016-10-27 16:26:24

1。全局分配内存(改进,根据线程分配内存,可不加锁得到要已分配的buffer空间)
2. 收到数据后,先解析数据长度
3。根据数据长度,寻找最近合适的buffer数据缓冲空间
4. 接收数据,直到数据缓冲填满
5。缓冲填满后,把信息放入队列,发出信号 
6。处理线程LogicThread收到信号后处理数据,或交给应用,或回传

xp + 虚拟机ubuntu 15测试 ,1G网卡.
A。在虚拟机Linux下写的Client给xp下的iocpnet server,通过iftop查看发送速度,能平均达到128Mb/s,iocpnet cpu占用率在12%左右,但Linux下load average达到1.13三左右
B。将iocpnet移植到Linux,核心用epoll sem_t消息机制,通过xp client向它发数据,最大数据只有68Mb/s,只有iocp的一半.原因还不清楚.


阅读(1088) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~