sinri / ark-websocket
Ark WebSocket 组件
0.1.9
2021-07-29 08:20 UTC
Requires
- sinri/ark-core: ~2.7
Suggests
- ext-sockets: *
README
使用说明
设计自己的类,扩展 ArkWebSocketWorker 和 Daemon
当以下情况发生时,你需要设计三个操作:
- 新的连接到来时
- 新的消息到来时
- 已存在的连接关闭时
你需要在内部自行完成解密、加密和广播。
然后你必须编写一个在 CLI 模式下运行的守护进程。你可以以 test
为例。
设置你的守护进程
你的 WebSocket 服务器应该监听一个端口,并使用域名和路径作为前端和负载均衡器的入口。
例如,你的守护进程,一个名为 daemon.php
的文件,运行 ArkWebSocketDaemon
的 loop
方法,监听 8000,你的页面由 Nginx 管理,监听 80,你的域名使用 web.socket.com
,你的路径为 wss://web.socket.com/wss-service
。
你的步骤
- 部署你的网站,使用 Nginx 或类似工具,监听 80 或类似端口。
- 以
php -q daemon.php
运行你的 daemon.php,监听 8000 或类似端口;如果你需要,可以使用nohup
。 - 现在配置你的 SLB(80 或 443),当域名为
web.socket.com
时- 路径为
/wss-service
,将数据包发送到 8000; - 否则,发送到 80;
- 路径为
完成。