请问高手,java中InetAddress类的getHostName()方法的原理,是通过建立连接(或半连接),还是其他的方式

来源:百度知道 编辑:UC知道 时间:2024/09/24 17:09:21
请问高手,java中InetAddress类的getHostName()方法的原理是什么?是通过建立连接(或半连接),还是其他的方式?安全检查是什么意思,是指防火墙之类的设置吗?InetAddress与 socket类有关系吗?本人比较迷惑,希望能够理解的清楚一点,还望热心的大哥大姐指点指点。
分少,正处于成长阶段,见谅!见谅!

java.net.InetAddress类的getHostName方法用来获取某一IP地址的主机名。返回结果:此IP地址的主机名;如果安全检查不允许操作,则返回IP地址的文本表示形式。
1.如果不能立即获取主机名,程序会继续尝试一段时间,若干时间后标志为失败,然后返回IP地址。
2.由于并不是总能成功获取,因此可能会出现长时间等待的情况,这个时间大概有十几秒钟。在编写实时的网络程序时,应该注意这个问题。如果允许,尽量采用IP地址代替主机名称。
3.即使通过getHostName方法成功获取主机名称,不同的平台的主机名的格式也是不同的。在编写跨平台的网络程序时,应该注意这个问题。