2012-09-29 21 views
1

在家裏,我有調制解調器,路由器,臺式機和筆記本電腦。具有相同IP地址的兩臺計算機 - 使用套接字的聊天應用程序

我的調制解調器已連接到我的路由器。桌面通過電線連接到我的路由器。筆記本電腦無線連接到家庭網絡/路由器。

當我到這個網站:http://whatismyipaddress.com/,我的桌面和我的筆記本電腦的IP地址是相同的。我如何確定唯一的IP?

我問的原因是因爲我有興趣開發一個簡單的C++服務器客戶端聊天應用程序,用於通過互聯網工作。在寫這篇文章時,我相信客戶端的代碼需要有關於服務器的信息(IP地址和端口號)。我想在桌面計算機上運行服務器,並讓運行客戶端代碼的任何計算機都能夠連接到它。

感謝您的幫助。此外,如果你有興趣,我正在按照這個c + +聊天應用程序教程做到這一點:http://www.youtube.com/watch?v=-Rk8LPtVpY0

+0

感謝您對這一信息。因此,我需要指定唯一的東西就是我唯一的本地IP地址和客戶端代碼中的端口號,以便客戶端可執行文件知道在哪裏連接。假設client.exe在我的網絡之外的機器上運行。它如何知道server.exe在筆記本電腦上運行?另外,我還需要採取其他措施嗎?在我的路由器設置頁面中指定端口號時,我應該選擇TCP還是UDP? – codeshark

回答

6

這是因爲whatismyipaddress.com只是得到您的外部地址。你的路由器隱藏你的內部地址。如果你想得到你的內部IP地址,你必須在你的計算機上查找IP地址(如果它是Windows去網絡和共享中心,點擊「本地連接」,然後詳細信息)。

如果您想讓桌面可以在網絡上使用(就像您放置的「服務器」一樣),您將不得不將路由器上的端口轉發到桌面。

+0

感謝您提供此信息。 因此,我需要指定的唯一東西就是我唯一的本地IP地址和客戶端代碼中的端口號,以便客戶端可執行文件知道在哪裏連接。 假設client.exe在我的網絡之外的機器上運行。它如何知道server.exe在我的臺式機上運行? 另外,是否還有其他步驟需要我做?在我的路由器設置頁面中指定端口號時,我應該選擇TCP還是UDP? – codeshark

2

該網站正在報告調制解調器的IP地址。這是互聯網其他人看到你的地址。與從路由器獲得的192.168.x.x地址相反,該地址僅對內部網絡(連接到路由器的任何設備)有用。

要確定你的唯一的IP地址,你可以做兩件事情:

登錄到路由器,尋找一個狀態標籤,這個標籤通常報告所有連接的設備。

或者更容易,如果你在Windows上運行「cmd」並輸入「ipconfig/all」。

2

由於我們沒有足夠的IP4 IP來讓網絡上的每臺設備都有一個獨特的IP,所以有一種叫做僞裝的東西。這允許路由器在一個「真實」IP地址下屏蔽本地網絡的傳出流量。當你的路由器連接到互聯網時,這個地址是給你的。

通常是本地網是在本地網保留像192.168.*.*

這當然地址範圍的地方,使2臺機器,其中一個被屏蔽有點棘手之間的直接聯網。您的路由器基本上知道哪個本地機器是連接的起源,因此它可以將響應指向正確的機器。

如果您需要雙方都完全透明的連接,則必須創建端口轉發到本地計算機 - 以便互聯網可見。

某些網站可以顯示您的外部IP,但最簡單的方法是登錄到路由器並在那裏查看。

1

從家庭網絡外部看到的每個設備的IP地址都是相同的。這是路由器的工作之一(抽象出哪個特定設備負責哪個數據包),這個概念有助於使互聯網可擴展。

瞭解更多關於subnetworks的維基百科。

在編寫應用程序之前學習網絡基礎知識也是一個不錯的主意。檢查出

相關問題