Я не уверен, является ли это проблемой Windows или проблемой .NET (то есть принадлежит ли она здесь на SO), но я написал небольшую программу HTTP-сервера на C # (с использованием класса .NET HttpListner
), которая прекрасно работает по большей части, но брандмауэр Windows, похоже, отказывается пропускать подключения к нему из чего-либо, кроме localhost. Я добавил исключения для TCP и UDP в разделе "Inbound Rules" настроек брандмауэра, по сути дублируя существующие правила для других HTTP-сервисов, которые работают нормально (например, foo_httpcontrol). В частности, я добавил отдельные правила для соединений TCP и UDP, охватывающие все порты, специфичные для исполняемого файла, который я запускаю.
Когда брандмауэр Windows отключен, проблем нет, но если я его включу, соединение просто отключится.