日期:2014-05-20  浏览次数:20737 次

请问这样情况下,做网口缓冲区是不是没用?
现在用UDP协议,丢包很严重,分析下来应该和单个包处理时间长有关。
比如假设,我网口的数据1秒来一条,每条需要2秒处理,是不是意味着我会丢掉1半的数据?
网上说,做缓冲区,比如一个线程从网口取数据扔在缓冲区,立马回去再取,另一个线程就从缓冲区里拿出数据处理。初听上去好像感觉不错。
不过仔细想想会不会有这样的问题?
就是,如果我下面的数据非常频繁,假设1秒1条,但处理的时间长要2秒,而且是计算密集型,也就说多个线程处理可能效果差不多。是不是意味着,我的缓冲区里的数据会以每秒一条的速度向上递增?最终会爆掉?
网口 UDP 缓冲区

------解决方案--------------------
如果像楼主说的这样,只有提高你计算服务的硬件配置了,这样才能提高速度,和接受数据一致。。