【问题标题】:How to deal with websockets on IIS on port 80 in general and when using ISAPI一般如何处理 IIS 上 80 端口上的 websockets 以及使用 ISAPI 时
【发布时间】:2019-05-30 20:48:58
【问题描述】:

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

我假设微软的 websockets 实现只适用于 asp.net?

有人对我说“将 websocket 服务器放在不同的端口上,并让 javascript 连接到该端口。”但是,websocket 服务器没有使用 HTTPS (SSL)。

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

我有很多书和例子,但这个简单的问题却让我难以理解。

【问题讨论】:

    标签: iis websocket isapi port80


    【解决方案1】:

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

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

    我假设微软的 websockets 实现只适用于 asp.net?

    如果你指的是 websocket .net 库,它只适用于像 asp.net 这样的 .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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 2016-07-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多