7个版本
0.2.2 | 2024年1月20日 |
---|---|
0.2.1 | 2023年11月19日 |
0.1.5 | 2023年8月9日 |
0.1.4 | 2023年5月7日 |
0.1.2 | 2022年11月5日 |
#124 in WebSocket
每月51次下载
90KB
2K SLoC
ScaleSocket
ScaleSocket 是一个协作的WebSocket服务器和自动缩放器。它是构建多人后端的一种简单方式。
关于
ScaleSocket 是一个命令行工具,允许您将脚本或二进制文件包装起来,并通过WebSocket协作地提供服务。客户端然后连接到具有唯一URL的 房间(也称为频道)(例如:wss://example.com/exampleroom
)。连接到房间将生成包装的二进制文件的新进程。同一房间的后续连接将共享该进程。
文档
有关完整信息和安装说明,请参阅文档。
功能
- 在WebSocket客户端之间共享后端进程
- 代理WebSocket流量到正常的TCP套接字或stdio
- 将服务器消息路由到特定客户端
- 服务静态文件
- 将CGI 环境变量暴露给后端进程
- OpenMetrics 兼容
- 内置的房间列表服务器
快速入门
创建包含以下内容的文件 example.sh
#!/bin/bash
echo '{"message": "hello world"}'
sleep 1
echo '{"message": "goodbye"}'
sleep 1
使其可执行
$ chmod u+x example.sh
通过启动ScaleSocket服务器将其包装
$ scalesocket ./example.sh
然后连接到WebSocket端点,例如使用curl
$ curl --include \
--no-buffer \
--http1.1 \
--header "Connection: Upgrade" \
--header "Upgrade: websocket" \
--header "Sec-WebSocket-Key: SGVsbG8sIHdvcmxkIQ==" \
--header "Sec-WebSocket-Version: 13" \
https://127.0.0.1:9000/exampleroom
�{"message": "hello world"}�{"message": "goodbye"}%
有关更高级的用法和功能,请参阅用法。
许可证
- Apache许可证,版本2.0 (LICENSE 或 www.apache.org)
贡献
除非您明确声明,否则您提交给作品的任何贡献,根据Apache-2.0许可证定义,均应按上述方式许可,不附加任何额外条款或条件。
依赖关系
~12–23MB
~323K SLoC