因此,我正在尝试构建一个简单的文本IM程序,以进入精彩的网络世界。我使用带有C ++的Winsock 2.0编写了2个程序:服务器和客户端。我通过套接字创建指定了UDP连接:
SOCKET Socket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
当我尝试使用本地IP地址连接到服务器时,一切正常。但是,当我使用我的互联网IP地址时,它将无法连接。我相当确定它不是防火墙问题,因为我在防火墙和防病毒软件都进行了多次测试。有什么我想念的吗?您能想到为什么能够通过本地地址连接而不是公共IP地址的任何其他原因?非常感谢你!
答案 0 :(得分:1)
您的公共IP地址很可能归您的网络路由器设备所有。它需要配置为将流量传递到您的计算机上
public IP internal router
address +--------+ IP address +---------+
v | | v | |
----------+ router +--------------+ desktop +
| | ^ | |
+--------+ internal +---------+
desktop IP address