[问题] UDP 封包接收延迟问题

楼主: mine1988 (三民)   2014-10-13 17:50:49
各位先进您好,
最近小鲁我在撰写一个网络相关的程式,
其中需要计算One-Way Delay(封包发送时间 - 封包接收时间)的程式,
程式架构为
Sender 每 1ms 发送一个UDP封包
Receiver 进行接收
目前碰到的问题是
Sender 发送多个封包至 Receiver 时,
用Wireshark监控网络时,发现UDP封包已经收到了,
但是C# 撰写的 Receiver 不会立刻收到封包,
时常会出现“多个封包同时收到”的现像
例如:
在时间点 a、b、c、d、e 时 WireShark 监看收到五个封包,
但时间点 e 时,C#撰写的Receiver才会接收到这五个封包。
Sender透过Wireshark监探的结果,应该不是Sender的问题。
重点是!!
有时候才会出现!有时候又非常正常(封包一到马上就接收)。
起初认为是太多程式执行,导致该程式分到的CPU时间过少,
但是关掉其余程式后,仍无法解决问题。
Receiver 程式执行的电脑硬件为
Notebook
CPU: i5-3230M
Ram: 4G*2
目前有用过 udpclient 及 socket(采UDP protocol)两种class来撰写,
都是采用异步的接收,但仍都无法解决此问题。
请问有前辈开发过相关case有接触到此问题吗?
谢谢大家。
作者: johnpage (johnpage)   2014-10-13 21:27:00
周期改500ms试看看500ms时,程式正常吗?
楼主: mine1988 (三民)   2014-10-14 12:15:00
!懂John大的意思了,未测试过长周期 晚上测试一下 :D
作者: cspy (Perfect Stranger)   2014-10-17 21:58:00
分散到其它的port 测试看看

Links booklink

Contact Us: admin [ a t ] ucptt.com