我的问题很简单
当您使用EX:firefox通过TCP / IP协议发送数据时,您可以在浏览器侦听的某个随机端口上收到回复,而当我尝试将端口用于其他任务(如CS Gaming或其他任何内容时) 39;除非我使用某种VPN,否则无法工作?
PS:没有防火墙阻止连接,我的路由器上的端口转发也不起作用。
答案 0 :(得分:1)
浏览器是与Web服务器建立出站连接的客户端应用程序。当通过路由器NAT连接到服务器时,NAT会记录源和目标IP /端口对,因此从同一连接上的服务器发回的消息将自动路由到正确的客户端IP /端口。 / p>
浏览器也支持websocket protocol。此功能使得浏览器似乎正在侦听特定端口。但是,实际上,它是在与服务器的新连接上启动的,这种连接在整个websocket通信中都保持打开状态。
重要的是NAT背后的哪个对等方 - 服务器或客户端。对于来自客户端的出站连接,它通常可以使用当时可用的任何随机端口。对于到服务器的入站连接,必须提前知道服务器的IP /端口并且可路由。如果服务器位于NAT后面,则必须配置路由器以使服务器可以从NAT的另一端访问。
服务器软件可以发出UPnP请求,要求路由器将入站数据包转发到正确的IP /端口。路由器(取决于其配置)可能会也可能不会遵循此类请求。如果不是,则必须由网络管理员手动配置路由器。