Нет!Создание сокета с помощью нового Socket (String, int) приводит к разрешению, подобному этому
addr = InetAddress.getByName(hostname);
, которое является ярлыком для
return InetAddress.getAllByName(host)[0];
Разрешение адреса выполняется в Socket c-tor.
Если вам необходимо восстановить соединение (аварийное переключение), используйте результат, возвращенный InetAddress.getAllByName (host), рандомизируйте (или используйте циклический перебор) и подключитесь к нужным адресам.
Редактировать: также, если вам понадобится соединиться с какой-то вероятной ошибкой, вам лучше использовать метод connect класса Socket с тайм-аутом. Также убедитесь, что вы закрываете даже неисправные сокеты (и особенно каналы), так как они могут пропустить FD на * Nix.