InetAddress.getByName("127.0.0.1").getHostName()
String
ข้างต้นใน windows ส่งคืน 127.0.0.1
แต่ใน linux จะส่งกลับ localhost
เอกสารของ InetAddress#getHostName
พูดว่า:
หาก InetAddress นี้ถูกสร้างขึ้นด้วยชื่อโฮสต์ ชื่อโฮสต์นี้จะถูกจดจำและส่งคืน มิฉะนั้น จะดำเนินการค้นหาชื่อแบบย้อนกลับ และผลลัพธ์จะถูกส่งกลับตามบริการค้นหาชื่อที่กำหนดค่าโดยระบบ
- นี่เป็นพฤติกรรมที่คาดหวังหรือไม่
- เหตุใดความแตกต่างนี้สำหรับระบบปฏิบัติการที่แตกต่างกัน
- เป็นกรณีที่บริการค้นหาชื่อสำหรับ linux และ windows แตกต่างกันและนั่นคือเหตุผลที่เราเห็นความแตกต่างในลักษณะการทำงานนี้หรือไม่
ฉันเคยเห็นคำถามนี้ แต่คำถามของฉันเกี่ยวกับความแตกต่าง ในพฤติกรรมของ API ใน windows และ linux และสาเหตุของความแตกต่างนี้
InetAddress
นี้สร้างขึ้นด้วยที่อยู่ IP ไม่ใช่ชื่อโฮสต์ - person user207421   schedule 05.04.2019