2014-01-13 254 views
0

我完全不知道我做錯了什麼。大約一個月前,我設置了我的路由器以使用Java中的服務器/套接字連接。我剛搬回我的公寓,並在不同的區域使用不同IP的不同路由器。如何連接到本地IP地址

連接到本地主機(作爲默認)與我的ServerSocket,然後連接到IP我從whatsmyip.org獲得作爲客戶端套接字的主機名,我不應該能夠連接?

服務器和客戶端在同一臺計算機上運行,​​如果將客戶端的主機名切換到localhost,則連接完美工作。我有一個端口轉發設置到我的計算機的IP地址,路由器爲我(不是從whatsmyip.org)到1640端口,這是我在我工作的舊地方使用的。我在這裏做錯了什麼?

編輯1:我使用DynDNS.com來設置一個主機名稱的URL鏈接到我的電腦的IP,然後我有所有的客戶端連接到。客戶端程序可以在任何地方的任何計算機上。在我切換路由器之前,這是完美的。我正在使用路由器的動態DNS功能,使用我的舊路由器上設置的DynDNS帳戶,以及我的新路由器。所以基本上,我應該只使用我的舊路由器?

+0

as slipperyseal below below。取決於路由器的構造,它可能無法發送流量,意味着在相同的接口上出/入。你想以這種方式連接到你的自我?通常你只需要使用localhost(127.0.0.1/::1)。 – Doon

回答

1

當您在內部網絡上時,某些路由器不會路由外部IP。我有一個這樣的路由器。嘗試從外部位置連接(有朋友試試,連接到遠程服務器並重新連接,或使用連接到3G無線的設備等)。

但我不確定你的問題是否你真的想從外面連接。如果你不這樣做,就不需要創建端口(事實上,你只是讓服務器不必要地對世界可見)。從局域網內的任何機器使用本機的本地地址(192.168.x.x/10.1.1。* etc,取決於您的路由器)。