我想将数据从UDP服务器发送到UDP客户端。服务器具有公共IP,并且正在侦听已知端口号,因此客户端可以使用UDP将数据发送到服务器,但是客户端位于NAT之后,而客户端不在侦听已知端口。服务器无法根据需要将数据发送到客户端。客户端是否可以联系服务器,并且服务器可以使用客户端网关的端口和公共地址进行重放?
无论如何还是有什么好方法可以将数据从UDP服务器发送到NAT之后的UDP客户端?
在大多数情况下,服务器可能会在从UDP客户端接收到传入消息后立即发送数据。服务器可以将数据包发送到源IP和端口号。但是,如果服务器希望在需要时发送数据,则可能无法正常工作。NAT会清空IP /端口映射。
我可以想到一种解决方案。这不是一种非常有效的方法。UDP客户端应继续对服务器进行ping操作。这样,它可以防止NAT通过保持通信活动来清除映射。
http://www.brynosaurus.com/pub/net/p2pnat/
上面给出的链接说明了UDP打孔。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句