3G连接下UDP端口每次都会变化

3

我正在使用基于Java的UDP套接字与3G模块通信,但是每次接收到的数据包的端口(有时还包括IP地址)都会改变,这非常令人惊讶。这表明我不能为3G模块分配固定的IP/端口并与其通信,只能依靠传入的数据包来获取目标信息。有谁能告诉我为什么?在3G和一般互联网上TCP/UDP连接之间有什么区别吗?提前感谢!


3G模块是什么?RTP/RTSP?请注意,这在标准中有定义,在互联网上也是如此。 - TomTom
你尝试过发布的答案了吗? - Yandry Pozo
1个回答

9

移动运营商通常会使用NAT防火墙。尝试通过发送UDP数据包来保持UDP“会话”活动,即使您的应用程序可能会忽略这些数据包。每30秒发送一次可能需要保持NAT映射处于活动状态。

如果移动运营商的NAT防火墙没有从UDP源IP /端口目标IP /端口四元组接收到数据包,则会将其删除,并在下一个来自您的应用程序的数据包到达时分配新的IP /端口。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接