微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

nginx-websocket-module Nginx WebSocket 模块

程序名称:nginx-websocket-module

授权协议: BSD

操作系统: Linux

开发语言: C/C++

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 官网

https://github.com/lvht/nginx-websocket-module

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐