2013-10-26 38 views
0

我正在編程接收UDP廣播(從PC發送10Hz)的Android應用程序,我正在測量DataGramSocket.receive()之前和之後的時間。通常,完成receive()需要100ms(因爲它預期的是10Hz數據),但在receive()之前和之後,通常我會得到0 ms的時間差。這是否意味着數據包已被丟棄?爲什麼Android DatagramSocket.receive()在0 ms內完成?

回答

0

這意味着數據包在您調用recv()之前已經到達。

+0

但是不recv()阻止呼叫? (我檢查了SO_TIMEOUT它是0,所以它沒有限制)。並且不應該接收阻止並等待直到收到第二個數據包? – user2900152