需要UDP端口转发?

时间:2014-01-18 16:19:03

标签: c++ sockets networking udp

很抱歉因为这个愚蠢的问题,但我找不到答案。因此对于TCP,只有服务器需要端口转发,而不是客户端。但由于UDP在技术上并不区分客户端和服务器,我是否也必须为客户端端口转发? (AFAIK TCP一连接到服务器就自行完成)

1 个答案:

答案 0 :(得分:6)

如果客户端位于NAT防火墙后面,那么是的,您将需要一个客户端端口转发。许多NAT路由器支持"自动" UDP转发,在看到OUTGOING数据包时自动设置临时端口转发,以便回复数据包可以将其返回给客户端。您可能需要配置路由器以启用此功能,并且可能需要设置各种超时参数以使其正常工作(因为UDP没有内置到协议中的任何超时)。

请注意,TCP也需要这种反向端口转发,但所有NAT路由器/防火墙都会自动执行此操作,因为没有它就无用。