Nginx WebSocket 模块
做了一个 Nginx 模块,给 Nginx 添加了 WebSocket 支持。项目链接:
https://github.com/lvht/nginx-websocket-mo...
安装
- 安装 libwslay
- 下载 Nginx 源码和 nginx-websocket-module
- 应用补丁
patch -p1 < /path/to/ngx_listen.diff
- 编译
run ./auto/configure --prefix=/tmp/ngx --add-module=path/to/src/nginx-websocket-module --with-debug
服务端配置
在server下创建location配置开启 websocket 支持
location /ws { websocket pingintvl=10000 idleintvl=15000; }
这里的
pingintvl
表示心跳发送间隔,idleintvl
表示超时时间,单位都是毫秒.js 发起 WebSocket 连接
var s = new WebSocket('ws://127.0.0.1:8080/ws') s.onmessage = (e) => console.log(e.data)
s
对象就可以收发 WebSocket 消息了。WebSocket 连接一旦建立,Nginx 会给客户端发送http://12@172.16.71.231:48775/ws,http://12@172.16.71.211:48775/ws
大家应该可以猜到这个东西是做什么用的。
推送
# 这里用 httpie 演示 echo "Hello World!"|http http://12@172.16.71.231:48775/ws
推荐文章: