nginx-websocket-module Nginx WebSocket 模块开源项目

我要开发同款
匿名用户2017年05月03日
58阅读
开发技术C/C++
所属分类Nginx扩展模块、服务器软件
授权协议BSD

作品详情

Nginx的WebSocket模块。

如何运行?

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

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

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

todo

 ipv6

 moredebuglog

 pushbinarydata

 processupstreammessage

查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论