2011-10-19 137 views
1
InetAddress byName = Inet6Address.getByName(host); 

上面的代碼表示我想通過它的名字獲得IP地址。在32位操作系統和64位操作系統之間,類java.net.InetAddress有什麼區別

然後,它在Win2003 32位操作系統中成功運行, ,但在win2003 64位操作系統中捕獲UnknowHostException。

所以,我想知道「在32位操作系統和64位操作系統之間java.net.InetAddress類是否有區別」。

操作系統是不同的,所以,jre/rt.jar包中的InetAddress是不同的。

回答

1

對於2種體系結構,內部結構/底層實現可能有也可能不會有明顯不同。我懷疑它,但我無法確定地告訴你。但更重要的是,根據我的經驗,不太可能與架構特定的實現有關,更可能是由於您的2個操作系統中的不同網絡設置。回到win2003的日子裏,IPV6是相當新穎的,並且最多支持補丁。

我會建議檢查/測試你的IPV6設置以外的Java,以確保兩臺機器設置相同。

+0

通過它調用Inet6Address.getByName(host),但InetAddress的子類Inet6Address沒有getByName(String)方法,則實際上它調用InetAddress.getByName(String)方法。 – Norah

0

不,如果主機名無法解析,則會拋出UnknowHostException。它與32位或64位操作系統無關。

相關問題