2014-01-13 205 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,取决于您的路由器)。