У меня нет кода для перехода, и я ничего не знаю о конфигурации вашей сети, но я расскажу вам, что я обычно делаю при отладке приложения с поддержкой сети. Сначала посмотрите на правила брандмауэра. Очевидно, что это будет зависеть от того, какую ОС вы используете, но в Windows 10 разрешения для конкретных приложений находятся в Control Panel > System and Security > Windows Defender Firewall > Advanced Settings
.
Убедившись, что ваше приложение может пройти через брандмауэр вашего устройства, проверьте настройки маршрутизатора далее. Ваши пакеты могут не попасть по встроенным протоколам безопасности. Поскольку ваша программа работает с локальной сетью, а не через Интернет, это вполне вероятная возможность. Кроме того, в зависимости от конфигурации сети может потребоваться переадресация портов; если вы отправляете данные через публичный IP-адрес, маршрутизатору необходим какой-то способ узнать, какое устройство в локальной сети должно его получать. Кроме того, если вы пытаетесь подключиться к серверу из той же сети, в которой вы его размещаете, убедитесь, что вы используете IP-адрес обратной связи, который, как я считаю, всегда равен 127.0.0.1, или в C # IPAddress.Loopback
. Публичные адреса часто не работают при подключении к локальному хосту.
Если у вас все еще есть проблемы, я рекомендую использовать Wireshark . Это продвинутый диагностический инструмент, который точно сообщает вам, что отправляется и принимается по вашей сети, и может помочь точно определить проблемы, которые трудно выявить.