问答详情
源自:2-2 Java 中的 URL 的应用

关于InetAddress的问题

老师,为什么我的getByName()括号里面无论放什么,获取到的IP地址和计算机名字都是一样的啊

提问者:sy302012 2016-01-23 19:43

个回答

  • SymphonyZhang
    2016-04-09 19:41:10

    去找api啊,api很明显告诉你了

    getHostName

    public String getHostName()

    获取此 IP 地址的主机名。

    如果此 InetAddress 是用主机名创建的,则记忆并返回主机名;否则,将执行反向名称查找并基于系统配置的名称查找服务返回结果。如果需要查找名称服务,则调用 getCanonicalHostName。

    如果有安全管理器,则首先使用主机名和 -1 作为参数来调用其 checkConnect 方法,以查看是否允许该操作。如果不允许该操作,则其返回 IP 地址的文本表示形式。


    返回:

    此 IP 地址的主机名;如果安全检查不允许操作,则返回 IP 地址的文本表示形式。

    另请参见:

    getCanonicalHostName(), SecurityManager.checkConnect(java.lang.String, int)


  • 积叶成林
    2016-01-23 20:41:27

    因为都是本机 本机的IP默认127.0.0.1 计算机名也是你自己的计算机名字。除非你把客户端在另一个机子运行记得要改ip(locahost)