【发布时间】:2011-03-23 20:04:09
【问题描述】:
我使用 HttpListener 类 (.net 2.0) 编写了一个简单的 WebServer
它似乎在 80 以外的端口上不起作用。
当我嗅探到我的服务器的传输时,我可以看到端口 8080 上的 Syn 数据包到达服务器,但是没有 Syn/Ack 响应,尽管当我 sue 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 甚至更好的另一个随机用户端口? 谢谢, 伊泰
【问题讨论】:
标签: .net-2.0 webserver httplistener