日期:2014-05-20  浏览次数:20694 次

如何获取客户端的机器名?
request.getRemoteHost()
获取到IP地址了,而不是机器名。
这个是否跟浏览器权限有关呢?

我是需要记录哪台机器登陆了系统,同时记下IP和机器名称,现在只能获得IP。


------解决方案--------------------
String hostname = InetAddress.getLocalHost().getHostName();
------解决方案--------------------
request.getRemoteHost() 得到字符串转化byte[],然后用InetAddress.getByAddress(byte[] add)方法得到InetAddress 对象,注意的是String 转化byte[] 需考虑字节范围,从-127-127 。利用InetAddress.getHostName()得到主机名。
------解决方案--------------------
sorket.getInetAddress().getHostName();
public String getHostName()获取此 IP 地址的主机名。
如果此 InetAddress 是用主机名创建的,则记忆并返回主机名;否则,将执行反向名称查找并基于系统配置的名称查找服务返回结果。如果需要查找名称服务,则调用 getCanonicalHostName。

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


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


/////////////////////////////////////////////////////////////////////////////
getHostAddress
public String getHostAddress()返回 IP 地址字符串(以文本表现形式)。

返回:
字符串格式的原始 IP 地址。

------解决方案--------------------
对不起,没看题,你是在jsp中阿。