本文仅写给实际编码的程序员. 并不是写给架构师与理论家的.
UDP传输每次的数据不能太大只能<1500, 这是必须的.
假如要实现大带宽数据传输,每秒需要发:10M / 1500 = 6991次.
每毫秒7次, 不计算重发量(就算是100%传输成功).
问题一: 有关毫秒延时如何达到?
方案1. 老是去取cpu时钟,可以达到极高效的延时,但cpu占用率100%这是不可取的.
方案2. timeGetTime(); 可取. 但cpu占用率100%.
方案3. Sleep 不可取, 达不到精度
方案4. WaitforSingleObject 不可取, 达不到精度. 但有时候可以达到2毫秒不到点.
问题二: 有关每毫秒7次发送如何实现这个问题?
前提: 不能同时发多个数据包, 否则掉包率相当高.
方案A. 老是去取cpu时钟,可以达到极高效的延时,但cpu占用率100%这是不可取的.