Tôi đang cố gắng viết một chương trình đơn giản bằng cách sử dụng Java, với IP ở định dạng phiên bản 4 hoặc 6, sẽ trả về FQDN của nó. Mã sau hoạt động tốt khi được cung cấp địa chỉ ipv4, nhưng sẽ chỉ trả lại địa chỉ đã cho khi địa chỉ ipv6 được nhập.Tại sao lớp InetAddress của Java không giải quyết được địa chỉ ipv6 cho FQDN của họ?
InetAddress inet;
try { inet = InetAddress.getByName(theIpAddress); }
catch(UnknownHostException e) { System.out.println("Unknown Host"); return; }
System.out.println(inet.getHostAddress(););
System.out.println(inet.getHostName(););
Bất cứ khi nào tôi nhập ipv6 getHostName() sẽ chỉ trả về cùng ipv6, ngay cả khi tôi biết rằng ipv6 sẽ chuyển thành FQDN. Ngoài ra, nếu tôi nhập tên máy chủ ipv6, chẳng hạn như ipv6.google.com, thay cho theIpAddress, ngoại lệ sẽ xảy ra.
Tôi mới sử dụng công cụ này để đánh giá cao mọi hỗ trợ. Cảm ơn.
Máy chủ/mạng của bạn có chắc chắn có IPv6 DNS hoạt động không? Liệu nslookup có được kết quả đúng không? –
Có. nslookup hoạt động tốt. – user561877