Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用基于 java 的 UDP 套接字与 3G 模块进行通信;但是每次接收到的数据包的端口(有时是IP地址)都会发生变化,这非常令人惊讶。这表明我无法为 3G 模块分配固定的 IP/端口并与之通信,而只能依靠传入的数据包来获取目标信息。谁能告诉我为什么?3G 上的 TCP/UDP 连接与一般 Internet 有什么区别?提前致谢!
移动运营商通常有 NAT 防火墙。尝试通过发送您的应用程序可能忽略的 UDP 数据包来保持您的 UDP“会话”处于活动状态。可能需要每 30 秒发送一次以保持 NAT 映射处于活动状态。
如果移动运营商的 NAT 防火墙没有收到来自 UDP 源 IP/端口目标 IP/端口四倍的数据包,它将删除它并在您的应用程序的下一个数据包到达时分配一个新的 IP/端口。