我正在尝试创建一个支持SSL的简单Web服务器。我正在尝试使用HttpListener。这就是我所拥有的:
以下是我使用的一些代码:
private void StartServer()
{
HttpListener server = new HttpListener();
server.Prefixes.Add("http://+:8080/");
server.Prefixes.Add("https://+:8081/");
server.Start();
server.BeginContext(HandleRequestCallback, server);
}
private void (HandleRequestCallback(IAsyncResult ar)
{
HttpListener server = ar.AsyncState as HttpListener;
server.BeginGetContext(HandleRequestCallback, server); // Start listening again.
HttpListenerContext context = server.EndGetContext(ar);
HttpListenerRequest request = context.Request;
ProcessRequest(request);
}
这是有效的:
什么不起作用是来自远程机器的安全https请求。连接只是超时。 VS中的调试显示HandleRequest方法没有被命中。还在玩Fiddler,在这种情况下,我看不到任何传入的网络流量。
我也使用TcpListener(和SslStream)制作了类似的解决方案,并且我确实从远程计算机获得了安全连接。所以它不是防火墙问题......
其他人是否遇到此问题?是否有人可以指出我缺少的东西?