Я написал чат-клиент и сервер на Java. Это работает, но, как я выяснил, только локально. Цель состоит в том, чтобы заставить его функционировать через Интернет.
Я много чего перепробовал и могу уточнить при необходимости. Абсолютно новичок в этом, так что, полагаю, я сильно страдаю от "Не знаю, чего я не знаю" здесь.
Это то, что я сделал до сих пор:
- Включена переадресация портов на моем роутере.
- Гарантирован статический локальный IP-адрес.
- Добавлен сервис в моей сети, с соответствующим портом.
- Добавил правило для входящих подключений, которое разрешает его через брандмауэр Windows, и хотя я не уверен, что это было необходимо, для покрытия моих баз я также добавил соответствующее правило для исходящих сообщений.
- Использовал http://www.canyouseeme.org/, чтобы убедиться, что мой сервис доступен.
Был такой же вопрос на SO, но он касается веб-сервера и касается javascript .
networking
java
port-forwarding
Легато
источник
источник
Ответы:
Вы должны убедиться, что путь маршрутизации от интернет-машин до вашего рабочего стола завершен. Чтобы это работало, вам необходимо удалить все блоки портов (брандмауэры) для портов, которые вы хотите показать, а также убедиться, что трафик направляется с вашего публичного IP-адреса на IP-адрес сервера (если сервер является частным).
Обычно все это выполняется на домашнем маршрутизаторе / Wi-Fi / модеме, который выполняет службу трансляции сетевых адресов (NAT) для вашей домашней сети (притворяется вашими внутренними компьютерами, когда ваши компьютеры общаются с Интернетом).
Итак, вам необходимо:
Проверьте, что клиенты чата работают внутри вашей сети (без участия NAT). Затем проверьте работу удаленных клиентов, подключившись к общедоступному IP-адресу порта, который вы перенаправили.
источник