我们正在使用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');
我有很多书籍和示例,但是这个简单的问题使我难以理解。
答案 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。
就像下面的图片所示:
有关http和websocket之间区别的更多详细信息,您可以参考以下文章:
https://developerinsider.co/difference-between-http-and-http-2-0-websocket/