Во-первых, использование InetAdress.getByName()
избыточно. Socket
имеет конструктор, который принимает String
в качестве входных данных:
server = new Socket("127.0.0.1", 3333)
Тем не менее, вы должны зарегистрировать stati c доменное имя для своего сервера и установить его записи DNS так, чтобы они указывали на ваш IP сервера. Затем клиенты могут использовать это доменное имя для подключения к серверу вместо прямого использования IP-адреса:
server = new Socket("mydomain", 3333)
Если ваш сервер не имеет статического c IP, есть много бесплатных и дешевых Доступны службы «Dynami c DNS», которые позволяют обновлять ваш домен с использованием вашего текущего IP-адреса при его изменении (обычно с использованием автоматизированных инструментов для упрощения процесса обнаружения и обновления).
Если сервер находится за маршрутизатором, многие маршрутизаторы имеют встроенную поддержку для обновления различных служб DynDNS за вас. Если ваш маршрутизатор поддерживает это, вы можете настроить его с помощью информации вашей учетной записи DynDNS, чтобы он мог автоматически обновлять домен при изменении его WAN IP.