Я написал простой WebServer с использованием класса HttpListener (.net 2.0)
Кажется, он не работает на порте, отличном от 80.
Когда я прослушиваю транспорт к моему серверу, я вижу, что пакеты Syn на порту 8080 прибывают на сервер, но нет ответа Syn / Ack, хотя, когда я запускаю команду netstat, -ai видит, что сервер прослушивает порт 8080 (я убедился, что мое приложение слушает)
HttpListener server = new HttpListener()
server.Prefixes.Add("http://192.168.4.133:8080/");
server.Start();
_log.Write("Waiting for a connection... ");
HttpListenerContext context = server.GetContext();
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;
_log.Write("Got request for " + request.RawUrl);
приведенный выше код не получает никакого контекста (застрял на строке server.GetContext ())
если я изменю префикс на "http://192.168.4.133/"
приведенный выше код работает отлично.
когда я тестирую его на порте 80, я убиваю службы IIS и проверяю, что именно мое приложение прослушивает соответствующий порт.
Я запускаю это на XP, так что я не думаю, что это проблемы с безопасностью .... но вы никогда не знаете ...
Я читал об инструменте httpcfg, но на самом деле не понял его ...
Есть ли что-то врожденное различие между прослушиванием на порте 80 и прослушиванием на других портах? 8080 или еще лучше другой случайный пользовательский порт?
Спасибо,
Итай