使用HttpListener控制响应流

本文关键字:响应 控制 HttpListener 使用 | 更新日期: 2023-09-27 18:20:17

我正在编写一个简单的反向代理,它需要处理http GET、POST和WebSocket连接。同时使用的客户端数量会很低,所以我希望使用HttpListener。不过,我很难理解如何使用它来代理WebSocket连接。

我认为响应必须通过HttpListenerResponse发送。对于GET和POST来说,这很容易。对于WebSockets,我需要发送握手数据,然后保持连接打开,以便从被代理的服务器发送更多消息。我能看到的使用HttpListenerResponse发送数据的唯一方法是调用Close(),这可能会阻止进一步使用底层套接字。

在尝试使用HttpListenerRequest从客户端接收稍后的websocket消息时,可能也存在类似的问题。

我是不是遗漏了什么,或者没有办法将HttpListener与websocket一起使用?

使用HttpListener控制响应流

现在似乎无法使用HttpListener。你必须等待.NET 4.5。