0

因此,我正在尝试构建一个简单的文本 IM 程序,以进入美妙的网络世界。我使用带有 C++ 的 Winsock 2.0 编写了 2 个程序:一个服务器和一个客户端。我已经通过创建套接字指定了一个 UDP 连接:

SOCKET Socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

当我尝试使用我的本地 IP 地址连接到服务器时,一切正常。但是,当我使用我的互联网 IP 地址时,它不会连接。我相当肯定这不是防火墙问题,因为我在禁用防火墙和防病毒软件的情况下进行了多次测试。有什么我想念的吗?你能想到它可以通过本地地址而不是公共 IP 地址连接的任何其他原因吗?非常感谢你!

4

1 回答 1

1

您拥有的公共 IP 地址很可能归您的网络路由器设备所有。它需要配置为将流量传递到您的计算机上

  public IP            internal router
   address +--------+  IP address  +---------+
      v    |        |  v           |         |
 ----------+ router +--------------+ desktop +
           |        |           ^  |         |
           +--------+   internal   +---------+
                      desktop IP address

http://portforward.com/

于 2011-08-25T06:35:25.700 回答