2014-10-23 3 views
-1

Я не могу подключиться к TCP серверу, когда я нахожусь в другой сети

Я пытаюсь подключиться к серверу Tcp я создал в другой сети, у меня не было никакой удачи. Есть ли способ сделать это?TcpListener на другой сети

Что такое IP-адрес, который мне нужно внести в программу клиента?

Сервер работает нормально, если вы находитесь в сети, но как мне подключиться, я нахожусь в другой сети?

Я пытался подключиться к внешнему IP-адресу, но сообщение просто сидело у маршрутизатора, как заставить маршрутизатор отправлять сообщение на мой компьютер?

  • Что я делаю неправильно
  • Как я это исправить

ответ

0

Ваш TCP сервер должен быть в системе с общественностью (внешний) IP адрес. Затем клиенты смогут подключаться к серверу, даже если они находятся внутри локальной сети. Обратите внимание, что ip-адреса в локальной сети отличаются от внешних ip-адресов. Перевод называется NAT.

Так как ваш сервер работает на компьютере внутри локальной сети, он не будет доступен для других компьютеров в Интернете. С другой стороны, ваш маршрутизатор имеет общедоступный IP-адрес, который будет доступен из Интернета. Вы можете настроить маршрутизатор для пересылки порта на ваш компьютер, чтобы ваш маршрутизатор подключил ваш сервер к Интернету. Обратите внимание, что переадресация портов часто является плохой практикой безопасности. Убедитесь, что вы выбрали номер порта, который не используется какой-либо другой программой.

Также имейте в виду, что трафик TCP от клиента к серверу, вероятно, не зашифрован. Это означает, что ваш трафик будет уязвим для атак типа «человек в середине». Вы должны попытаться установить соединение, использующее SSL. (Примечание: SSL не равен https). Для получения дополнительной информации просмотрите модель OSI.

Смежные вопросы