Будет ли getInetAddress () из сокета возвращать ip в формате ip4 или ip6?
Он просто вернет удаленный адрес, к которому подключен сокет , независимо от того,то есть.Если сокет является сокетом TCP / IPv6, адрес будет адресом IPv6.Если сокет является сокетом TCP / IPv4, адресом будет адрес IPv4.
Обратите внимание, что вы говорите об адресах «формат IPv4» и «формат IPv6».Это очень вводит в заблуждение.IPv4 и IPv6 - это не просто разные форматы представления IP-адресов.Это совершенно разные сетевые протоколы.Вы используете протокол IPv4, затем IPv4-адреса или протокол IPv6, а затем IPv6-адреса.
Я получаю формат ip6 только для localhost,Есть ли какие-либо изменения уровня машины для решения этой проблемы?
Нет.Это свойство соединения, а не машины.Если вам нужно соединение IPv4, вам нужно создать соединение IPv4.