我一直试图在Java套接字上编写一些程序,但我陷于这个问题。
通常,使用工厂方法getLocalHost(),getbyAddress(byte [])和getbyName(string)来创建INetAddress对象。
例如...
INetAddress a=InetAddress.getbyName("www.google.com");
并尝试使用println方法打印上述对象,但我遇到了未知主机异常,但实际上我听说它将执行DNS查询并返回google.com服务器的IP地址之一,但这种方式无法正常工作...我用netbeans来运行程序,我们的大学也有一个代理服务器。
还有一件事...如果我使用getbyName(string)并提供一个与大学网络内其他PC名称相同的参数,那么它可以解析系统IP地址吗? 。就我而言,这无法解决。
我也通过将Windows防火墙设置为关闭状态进行了检查,但没有成功。
请帮忙...
ping www.google.com
显示“ ping请求找不到主机名google.com” 最佳答案
InetAddress.getByName
使用的名称解析策略取决于操作系统。如果将操作系统配置为使用DNS来解析名称,则InetAddress.getByName
将使用此名称。 (大概。)
要检查DNS是否正常工作,可以在终端上运行nslookup www.google.com
。
还有一件事...如果我使用getbyName(string)并提供一个与大学网络内其他PC名称相同的参数,那么它可以解析系统IP地址吗?
如果系统上的其他程序可以将名称解析为IP地址,那么Java也应如此。