一般如何以及使用ISAPI时如何在IIS的端口80上处理websocket

时间:2019-05-30 20:48:59

标签: iis websocket isapi port80

我们正在使用IIS和ISAPI DLL来交付我们的Web应用程序。我们可以在ISAPI应用程序中看到来自浏览器的websocket升级请求。我们可以接受请求并将连接传递给线程以继续对话。该线程现在将是“ websocket服务器”,因此从这个意义上讲,我们能够处理传入的http(以及443上的https),然后从http切换到websocket,对吗?

我假设Microsoft的websockets实现仅适用于asp.net?

有人对我说:“将websocket服务器放在另一个端口上,并使javascript连接到该端口。”但是,那么websocket服务器没有使用HTTPS(SSL)。

例如: var socket = new WebSocket('ws://echo.websocket.org');

我有很多书籍和示例,但是这个简单的问题使我难以理解。

1 个答案:

答案 0 :(得分:0)

  

该线程现在将成为“ websocket服务器”,因此从这个意义上讲,我们能够处理传入的http(以及443上的https),然后从http切换到websocket,对吗?

是的,如果客户端发送包含Upgrade: websocket的请求,则websocket服务将从http切换到websocket。

  

我假设Microsoft的websockets实现仅适用于asp.net?

如果您的意思是websocket .net库,它将仅与.net应用程序(如asp.net)一起使用,它是基于.net框架开发的。

  

例如:var socket = new WebSocket('ws://echo.websocket.org');

据我所知,websocket还包含安全连接,例如https。

就像下面的图片所示:

enter image description here

有关http和websocket之间区别的更多详细信息,您可以参考以下文章:

https://developerinsider.co/difference-between-http-and-http-2-0-websocket/