首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

求每分钟发5千以上TCP数据包的思路解决方案

2012-04-03 
求每分钟发5千以上TCP数据包的思路目前,用线程池加原始socket第一分钟能有5000-7000个发出,2-3分钟过后,线

求每分钟发5千以上TCP数据包的思路
目前,用线程池加原始socket第一分钟能有5000-7000个发出,2-3分钟过后,线程池满了,速度明显慢了,能有什么方法提高速度?(服务端能接收1万个, 每个数据包长度2K左右)

[解决办法]
加快网速,使劲发。
[解决办法]
关注。。。。
[解决办法]
看socket的I/O模型,一般IOCP能达到最佳性能。
[解决办法]
线程池满了发送速度就下降,有这个关系吗?
[解决办法]
网络升级到 1G ,使用 4 CPU 机器测试。
[解决办法]
多快的网卡?莫非是10M以太网卡?
[解决办法]
线程池不可以动态增加么???再加上其他策略应该可以实现
[解决办法]
IOCP
[解决办法]
两个包之间延时1毫秒
或做个判断
[解决办法]
“一定时器进行调度,每隔几毫秒。。。”
你应该用的是自己写的定时器吧。。。。如果你用的是 TIMER 的话,是精确不到几毫秒的。。。
[解决办法]
什么定时器?有些没那么快的反应
[解决办法]

探讨
我目前是先创建200个线程放入池中,一定时器进行调度,每隔几毫秒到池中取空闲的线程,取到后线程创建socket,然后 send, recv最后closesocket,
目前是运行几分钟后,200个线程忙活不过来,明显取空闲线程很少取到。
(目前空闲线程的判断是 在线程类中放一标志, 工作时设为false, 工作结束设为true, 没有用事件等内核对象)

热点排行