Мне нужно изменить IP-адрес хоста с клиента.Я использую команды UDP и MulticastSocket для получения IP-адреса этого хоста (currentIp) и использую этот IP-адрес для успешного установления TCP-соединения.Команда для изменения этого IP-адреса хоста требует DatagramSocket, поскольку мне нужно сначала получить MAC-адрес хост-устройства для включения в команду изменения IP-адреса.После установления TCP-соединения я закрываю сокет MulticastSocket UDP, чтобы открыть DatagramSocket, но получаю следующую ошибку:
java.net.BindException: Невозможно назначить запрошенный адрес: Невозможно связать
Есть ли что-то, что мне нужно сделать, кроме закрытия гнезда MulticastSocket, прежде чем пытаться получить сокет DatagramSocket с тем же номером порта, или я что-то упускаю?
DatagramSocket socket;
private boolean ChangeIpAddress(String newIp) {
DatagramSocket socket;
try {
socket = new DatagramSocket(30718, InetAddress.getByName(currentIp));
} catch (SocketException ex) {
...