2010-11-05 44 views
3

我正在使用基於java的UDP套接字與3G模塊進行通信;但接收到的數據包的端口(有時是IP地址)每次都會更改,這非常令人驚訝。這表明我無法爲3G模塊分配固定的IP /端口並與其通信,但僅依靠傳入數據包來獲取目的地信息。有誰能告訴我爲什麼? 3G和一般互聯網之間的TCP/UDP連接有什麼區別?提前致謝!每次通過3G連接更改UDP端口

+0

什麼3g模塊? RTP/RTSP?請注意,這是在標準中定義的,在互聯網上也是如此。 – TomTom 2010-11-05 12:59:08

+0

你嘗試過發佈的答案嗎? – 2017-09-22 05:26:42

回答

9

移動運營商通常具有NAT防火牆。嘗試通過發送您的應用程序可能忽略的UDP數據包來保持您的UDP'會話'活動。爲了保持NAT映射的活躍,可能需要每隔30秒發送一次。

如果移動運營商的NAT防火牆沒有收到來自UDP源IP /端口目的地IP /端口四倍的數據包,它將刪除它並在您的應用程序的下一個數據包到達時分配一個新的IP /端口。