java 中如何通过IP获取计算机名
6个回答
快又稳
2024-10-28 广告
2024-10-28 广告
在Linux环境下配置基于域名的虚拟主机,需安装Apache或Nginx等Web服务器,并编辑配置文件。以Apache为例,需创建虚拟主机配置文件,指定域名、文档根目录等,然后启用该配置文件并重启Apache服务。同样,Nginx也需在相应...
点击进入详情页
本回答由快又稳提供
展开全部
这个做不到。
需要有一个存储IP和计算机名对应关系的数据结构。
用map就行,key是ip,value是计算机名。
取得ip之后得到,从map中取得计算机名。
需要有一个存储IP和计算机名对应关系的数据结构。
用map就行,key是ip,value是计算机名。
取得ip之后得到,从map中取得计算机名。
更多追问追答
追问
java.util.Map map = System.getenv();String userName = map.get("USERNAME");// 获取用户名String computerName = map.get("COMPUTERNAME");// 获取计算机名 String userDomain = map.get("USERDOMAIN");// 获取计算机域名
System.out.println(userName);
System.out.println(computerName);
System.out.println(userDomain);
只是想通过客户端的IP、然后获取他的计算机名
追答
你什么意思?System.getenv();这个怎么来的啊?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java中专门有一个net包查看API就能找到,记得作为一个开发人员查看API才是长久之计!
更多追问追答
追问
有InetAddress这个对象、但是没有获取计算机名的方法
追答
/**
*
* 可能多个ip地址只获取一个ip地址
* 获取Linux 本地IP地址
* @return
* @throws SocketException
*/
private static InetAddress getUnixLocalIp() throws SocketException{
Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();
InetAddress ip = null;
while(netInterfaces.hasMoreElements())
{
NetworkInterface ni= (NetworkInterface)netInterfaces.nextElement();
ip=(InetAddress) ni.getInetAddresses().nextElement();
if( !ip.isSiteLocalAddress()
&& !ip.isLoopbackAddress()
&& ip.getHostAddress().indexOf(":")==-1)
{
return ip;
}
else
{
ip=null;
}
}
return null;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过InetAddress对象获取
追问
获取的是客户端的计算机名、而且IP是自动获取的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
InetAddress addr = InetAddress.getLocalHost();
ip=addr.getHostAddress().toString;//获得本机IP
address=addr.getHostName()toString;//获得本机名称
ip=addr.getHostAddress().toString;//获得本机IP
address=addr.getHostName()toString;//获得本机名称
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询