如何在java中获取已连接客户端的主机名?

如何在java中获取已连接客户端的主机名?,java,sockets,networking,hostname,Java,Sockets,Networking,Hostname,我正在编写一个服务器应用程序,我想获取连接客户机的主机名,我该如何用java实现呢 clientSocket.getInetAddress().getHostName()一直给我IP地址而不是主机名,怎么了 其中,ClientSocket是一个SSLSocket或套接字。请尝试,但请阅读Javadoc,因为这不是保证。(您仅限于在DNS中注册的内容等)我仍然得到了IP地址,但给出了什么?我将计算机上的主机名设置为一个特定的名称,但它似乎无法被识别,我有多个网络适配器,这有什么区别吗?这可能会成为

我正在编写一个服务器应用程序,我想获取连接客户机的主机名,我该如何用java实现呢

clientSocket.getInetAddress().getHostName()
一直给我IP地址而不是主机名,怎么了


其中,
ClientSocket
是一个
SSLSocket
套接字。

请尝试,但请阅读Javadoc,因为这不是保证。(您仅限于在DNS中注册的内容等)

我仍然得到了IP地址,但给出了什么?我将计算机上的主机名设置为一个特定的名称,但它似乎无法被识别,我有多个网络适配器,这有什么区别吗?这可能会成为一个超出SO范围的网络问题。如果您尝试从命令行运行“nslookup”,它是否有效?如果不是,您也不能指望Java为您解决它。当您说您在一台特定的计算机上设置了主机名时,您运行此应用程序的计算机不是同一台计算机,是吗?如果没有,IP需要由系统反向解析-使用主机文件、DNS或其他解析机制。