开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
nginx-websocket-module首页、文档和下载 - Nginx WebSocket 模块 - 开源中国社区
全部项目分类
我要评价
BSD
C/C++ 查看源码»
Linux
lvht
分享
收藏
6 人收藏
收录时间:2017-05-03
nginx-websocket-module 详细介绍

Nginx 的 WebSocket 模块。

如何运行?

Nginx 使用多进程模型。工作中的进程不知道其他的进程。当有 http 请求时,请求会被一个运行中的进程处理。这种模式简单而有效率。它适用于 Nginx 作为代理服务器的情况。

然而,如果你希望将 Nginx 作为一个 WebSocket 服务器,我们将面临一个棘手的问题。假设有两个运行中的进程 A 和 B。当一个 WebSocket 客户端到来时,它将被 A 或 B 处理。假设它被 A 处理。然后 Nginx 会发送一些 id 信息到客户端。如果想要发送东西给客户端,我们也需要一个请求。然而,我们的推送请求可能由另一个进程 B 处理,进程 B 不知道客户端,所以失败了。

为了解决这个问题,我们让每个进程在开始运行之前侦听一个唯一的端口。然而,在最新的 nginx 代码库中,很难添加侦听端口。所以我们使一些 nginx 内部 api 公开来简化这个过程。我们将尝试将此补丁合并到 nginx 代码库中。

todo

  •  ipv6

  •  more debug log

  •  push binary data

  •  process upstream message


大家对 nginx-websocket-module 的评论 (全部 0 条评论)
{{repayCom.userName}}
顶部