【发布时间】:2010-10-07 13:58:50
【问题描述】:
如何使用 Java 获得计算机的广域网? 我试试这个:
ServerSocket ss = new ServerSocket(port);
System.out.println(ss.getInetAddress().getHostAddress());
//wich return 0.0.0.0
然后我试试这个:
System.out.println(InetAddress.getLocalHost().toString());
//which return keenan-a658368c/192.168.1.100 < yes it is connected to router
如函数所说,它返回我的本地 IP 地址
如何获取 WAN IP 地址?比如118.137.43.219
【问题讨论】:
-
好吧,如果您连接到路由器,则您的计算机没有 WAN IP 地址。您可以向whatismyip.com/automation/n09230945.asp 发出 HTTP 请求,它将返回分配给您的 Internet 连接(调制解调器)的 IP 地址。
-
哦,我明白了,所以我只能依靠外部服务器知道我的 IP。我可以使用我自己的 WebServer 中的 PHP 脚本(或 ASP)(我有一个 apache Web 服务器正在运行)或另一个 java 程序吗?
-
是的,你可以:echo $_SERVER['REMOTE_ADDR'];
标签: java sockets ip-address wan