WAN 上的 TCP 和 UDP 套接字服务器

2023-12-19

我正在尝试创建一个同时使用 TCP 和 UDP 的服务器和客户端。服务器在 LAN 设置中运行良好,但通过 WAN 传输时无法接收 UDP 消息。我相信这是因为用于发送数据的 UDP 套接字在 NAT 表中保留的时间不够长,无法返回任何信息。有没有办法让 UDP 端口在路由器中保持打开状态(无需端口转发)或使用与已连接的 TCP 连接相同的 UDP 端口?提前致谢。


如果您没有收到任何流量,则可能只是被防火墙阻止了。在这种情况下,它不是关于转发,而是关于打开端口。

一旦穿过 NAT,大多数(如果不是全部)NAT/防火墙设备将允许双向 UDP 流量。也就是说,如果我的笔记本电脑位于 NAT/防火墙后面,将 UDP 数据包发送到 Internet,我的 NAT/防火墙将允许将 UDP 流量返回到原始端口号。我经常使用 UDP,根据我的经验,这是规则,很少有例外。

请记住,虽然不保证 UDP 数据包一定会送达。

您的客户端位于 NAT 后面吗?客户端发送的数据包是否到达服务器?问题出在服务器到客户端的方向吗?

如果您对 UDP 和 TCP 使用相同的端口号,则情况不会改变。您不能搭载 TCP 连接,因为它是不同的协议。

单播 UDP 的网络地址转换 (NAT) 行为要求 https://www.rfc-editor.org/rfc/rfc4787

http://en.wikipedia.org/wiki/UDP_hole_punching http://en.wikipedia.org/wiki/UDP_hole_punching

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WAN 上的 TCP 和 UDP 套接字服务器 的相关文章

随机推荐