我正在尝试运行客户端服务器 UDP 程序。我的两台机器都在不同的网络中。我在路由器中设置了端口转发。
我的服务器有两个 IP 地址:1)外部 200.?.?.? 2) 内部 192.168.0.100
在创建 UDP 服务器时,我需要创建一个绑定到地址的套接字。
我应该将套接字绑定到哪个地址,外部还是内部?
我尝试使用内部地址,但没有从客户端获取任何数据。
建议...
我正在尝试运行客户端服务器 UDP 程序。我的两台机器都在不同的网络中。我在路由器中设置了端口转发。
我的服务器有两个 IP 地址:1)外部 200.?.?.? 2) 内部 192.168.0.100
在创建 UDP 服务器时,我需要创建一个绑定到地址的套接字。
我应该将套接字绑定到哪个地址,外部还是内部?
我尝试使用内部地址,但没有从客户端获取任何数据。
建议...
鉴于您说您设置了端口转发,您是否在 UPD 程序中分配了正确的端口?还是您只是将数据发送到 IP 地址?如果您指定外部 IP 地址和端口号,则路由器上的端口转发应将其发送到网络上的相应节点。
如果您必须绑定到特定地址,那么它将是内部地址,而不是外部地址。
路由器上 NAT 的全部意义在于向外界隐藏您的内部网络寻址方案。路由器的 NAT 算法将负责将任何入站数据包上的目标 IP 地址重写为正确的内部 IP 地址。
它不起作用表明您的端口转发和/或路由器上的防火墙有问题。除了转发规则之外,您还需要设置特定的防火墙规则来允许流量,这种情况并不少见。