gpt4 book ai didi

c++ - 聊天应用程序 - 无法从客户端连接到服务器

转载 作者:行者123 更新时间:2023-11-28 03:30:58 25 4
gpt4 key购买 nike

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

我无法连接到服务器(服务器在我家里的台式机上运行,​​它通过有线连接到调制解调器)。

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

addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_port = htons(1234);
addr.sin_family = AF_INET;

客户端有如下socket地址设置:

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)

我不确定为什么它无法连接。请随时查看下面我的客户端和服务器代码。

https://dl.dropbox.com/u/12735155/chat_client.cpp (注意:这里的socket地址是127.0.0.1,忽略这个,我已经更新为63.22.45.56)

https://dl.dropbox.com/u/12735155/chat_server.cpp

最佳答案

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

这是因为你不想在localhost上监听,你想在连接到外界的IP地址上监听。这就是为什么当您告诉客户端连接到本地主机时这段代码会起作用,但如果您告诉客户端连接到您的 WAN IP 并且连接被路由到外部,它就不会起作用。

关于c++ - 聊天应用程序 - 无法从客户端连接到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12657339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com