import java.net.*;public class Test {
public static void main(String[] args) {
try {
InetAddress localHostAddress = InetAddress.getLocalHost();
System.out.println(localHostAddress);
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行结果:EasyComp/169.254.217.68
结果打印的我机器的IP地址? 我在百度匿名发表帖子的IP地址和这个完全不一样.
内网IP是路由器分配的192.168.1.100, 那么这个结果是什么地址?

解决方案 »

  1.   

    169.254.217.68应该是你在互联网中的IP地址。对于使用路由器接入互联网的电脑,它在互联网向互联网中发送的数据报中的源IP就是它的路由器在互联网中的IP地址。也就是说,如果多个电脑用一个路由接入互联网,那么它们在互联网中的IP都是路由器在互联网中的IP。
    那么,你可能会想,这样的话,当互联网中的电脑向这些处在路由器建立的局域网中的电脑发送数据时,IP都是一样的,如何去区分呢?是用端口号区分的。
      

  2.   

    soho路由器的主要功能就是nat转换
    另外,我机器上运行结果:
    wooo-PC/192.168.1.100
    没问题啊