C# Программа прослушивает 0.0.0.0, но не 192.168.xx - PullRequest
0 голосов
/ 16 января 2020

У меня есть программное обеспечение, сделанное в C#, которое открывает прослушиватель на порту 5000 для прослушивания по сети для входящего трафика c. Чтобы проверить, что он работает, у меня есть программа со следующим набором кодов:

Int32 port = 11000;
IPAddress localAddr = IPAddress.Parse("192.168.x.x")

client = new TcpClient();
client.Connect(localAddr, port);

В соответствии с моим netstat - моя программа слушателя прослушивает так:

0.0.0.0:11000 * LISTENING

Не отображается прослушивание 192.168.XX

Когда я запускаю тестовую программу, она выдает ошибку сокета 80004005, сообщающую, что соединение было активно отклонено. Когда я запускаю тестовую программу на другом компьютере, она говорит, что не получает сигнал назад и время ожидания истекло. Когда я проверяю журнал брандмауэра, он говорит, что ничего не было заблокировано. У меня даже есть правила брандмауэра, чтобы разрешить порт и даже .exe только для того, чтобы убедиться, что он получает весь трафик c.

У меня есть другой компьютер с программным обеспечением для прослушивания, и он показывает это с помощью netstat

192.168.x.x:11000        *         LISTENING
0.0.0.0:11000            *         LISTENING

Для этого компьютера он работает нормально. Тестовая программа будет работать без проблем.

Если брандмауэр не является проблемой, как я вижу по журналам, и правила разрешают все трафики c для программы прослушивания, почему от нее активно отказывают, и она не отвечает? И почему на этой машине он не слушает по адресу 192.168.xx как рабочий?

Ответы [ 2 ]

0 голосов
/ 16 января 2020

Нашел проблему. Пользователь, установивший программное обеспечение, не перезагружал систему после завершения правил брандмауэра и установки программного обеспечения. Я буду уверен, что ударить их мышью не получится, поскольку я попросил их сделать это несколько раз.

После перезапуска он начал прослушивать адрес 192.168.xx и все работало.

0 голосов
/ 16 января 2020

Я пока не могу точно сказать, что происходит, но могу предложить кое-что проверить:

  • Помните, что задействовано двух брандмауэров: ограничение брандмауэра сервера входящие соединения, а также брандмауэр локального компьютера, ограничивающий исходящие соединения. Не забудьте проверить оба из них; иногда необычные исходящие порты будут заблокированы.
  • Вы говорите, что netstat показывает ваш слушатель, используя 0.0.0.0:1000. Это указывает на порт 1000. До сих пор я видел в истории вопроса и попыток редактирования подключение к портам 5000 и 11000, но никогда 1000.
  • Убедитесь, что ваше антивирусное программное обеспечение не вмешивается. Возможно, этот трафик c на необычных портах указывает на наличие вируса. Фактически, скоростной гид указывает, что порт 1000 использовался троянами в прошлом.
...