簡體   English   中英

聊天應用程序 - 無法從客戶端連接到服務器

[英]Chat Application - Trouble Connecting to Server from Client

我寫了一個簡單的c ++服務器/客戶端聊天應用程序。 我感興趣的是能夠讓多個客戶通過服務器(如聊天室)互相交談。 我希望這能夠通過互聯網工作,而不僅僅是在我的本地網絡中。

我無法連接到服務器(服務器在家里的台式機上運行,​​通過電線連接到調制解調器)。

服務器具有以下套接字地址設置:

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;

我使用桌面的互聯網WAN IP地址供客戶端連接。 我在我的路由器設置中為TCP / UDP端口轉發了“1234”。 它還指向我桌面的本地IP地址(192.168.0.16)

我不確定為什么它無法連接。 請隨時查看我的客戶端和服務器代碼。

https://dl.dropbox.com/u/12735155/chat_client.cpp (注意:套接字地址在這里是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地址。 這就是當您告訴客戶端連接到localhost時此代碼將起作用的原因,但如果您告訴客戶端連接到您的WAN IP並且連接被路由到外部,它將無法工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM