Не удается подключиться через TCP - PullRequest
0 голосов
/ 01 июня 2019

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

Ответы [ 2 ]

1 голос
/ 01 июня 2019

первая попытка из командной строки: telnet ip 9050 если он работает, это означает, что порт 9050 между вашим компьютером и сервером уже открыт, в противном случае вы должны проверить, почему и где порт заблокирован (может быть, это брандмауэр, в этом случае вам нужно создать правило в брандмауэре для прохождения).

0 голосов
/ 01 июня 2019

У меня нет кода для перехода, и я ничего не знаю о конфигурации вашей сети, но я расскажу вам, что я обычно делаю при отладке приложения с поддержкой сети. Сначала посмотрите на правила брандмауэра. Очевидно, что это будет зависеть от того, какую ОС вы используете, но в Windows 10 разрешения для конкретных приложений находятся в Control Panel > System and Security > Windows Defender Firewall > Advanced Settings.

Убедившись, что ваше приложение может пройти через брандмауэр вашего устройства, проверьте настройки маршрутизатора далее. Ваши пакеты могут не попасть по встроенным протоколам безопасности. Поскольку ваша программа работает с локальной сетью, а не через Интернет, это вполне вероятная возможность. Кроме того, в зависимости от конфигурации сети может потребоваться переадресация портов; если вы отправляете данные через публичный IP-адрес, маршрутизатору необходим какой-то способ узнать, какое устройство в локальной сети должно его получать. Кроме того, если вы пытаетесь подключиться к серверу из той же сети, в которой вы его размещаете, убедитесь, что вы используете IP-адрес обратной связи, который, как я считаю, всегда равен 127.0.0.1, или в C # IPAddress.Loopback. Публичные адреса часто не работают при подключении к локальному хосту.


Если у вас все еще есть проблемы, я рекомендую использовать Wireshark . Это продвинутый диагностический инструмент, который точно сообщает вам, что отправляется и принимается по вашей сети, и может помочь точно определить проблемы, которые трудно выявить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...