Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
聊天应用程序-从客户端连接到服务器时出现问题 我编写了一个简单的C++服务器/客户端聊天应用程序。我感兴趣的是能够让多个客户端通过服务器(如聊天室)相互交谈。我希望这是能够在互联网上工作,而不仅仅是在我的本地网络_C++_Networking_Client Server_Chat - Fatal编程技术网

聊天应用程序-从客户端连接到服务器时出现问题 我编写了一个简单的C++服务器/客户端聊天应用程序。我感兴趣的是能够让多个客户端通过服务器(如聊天室)相互交谈。我希望这是能够在互联网上工作,而不仅仅是在我的本地网络

聊天应用程序-从客户端连接到服务器时出现问题 我编写了一个简单的C++服务器/客户端聊天应用程序。我感兴趣的是能够让多个客户端通过服务器(如聊天室)相互交谈。我希望这是能够在互联网上工作,而不仅仅是在我的本地网络,c++,networking,client-server,chat,C++,Networking,Client Server,Chat,我连接到服务器时遇到问题(服务器在我家的台式机上运行,通过电线连接到调制解调器) 服务器具有以下套接字地址设置: addr.sin_addr.s_addr = inet_addr("127.0.0.1"); addr.sin_port = htons(1234); addr.sin_family = AF_INET; addr.sin_addr.s_addr = inet_addr("63.22.45.56"); addr.sin_port = htons

我连接到服务器时遇到问题(服务器在我家的台式机上运行,通过电线连接到调制解调器)

服务器具有以下套接字地址设置:

addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_port        = htons(1234);
addr.sin_family      = AF_INET;
addr.sin_addr.s_addr = inet_addr("63.22.45.56");
addr.sin_port        = htons(1234);
addr.sin_family      = AF_INET;
客户端具有以下套接字地址设置:

addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_port        = htons(1234);
addr.sin_family      = AF_INET;
addr.sin_addr.s_addr = inet_addr("63.22.45.56");
addr.sin_port        = htons(1234);
addr.sin_family      = AF_INET;
我使用了客户端要连接的桌面的internet WAN IP地址。 我在路由器设置中为TCP/UDP端口转发了“1234”。它还指向我的桌面的本地IP地址(192.168.0.16)

我不知道为什么它不能连接。请随时查看下面我的客户端和服务器代码

(注意:这里的套接字地址是127.0.0.1,但忽略它。我已将其更新为63.22.45.56)


您应该在代码中指定192.168.0.16,而不是127.0.0.1

这是因为您不希望在本地主机上侦听,而是希望在连接到外部世界的IP地址上侦听。这就是为什么当您告诉客户机连接到本地主机时,此代码会起作用,但如果您告诉客户机连接到WAN IP,并且连接被路由到外部,则此代码不会起作用