6 个版本 (稳定版)

使用旧版 Rust 2015

2.0.2 2019年2月23日
1.0.1 2019年1月2日
1.0.0 2018年10月22日
0.0.1 2018年10月22日

#13 in #signaling-server

MIT/Apache

20KB
378

rustysignal

Cargo

用 Rust 编写的支持 SSL 的 WebRTC 信令服务器。该信令服务器用于在网络上的节点之间交换元数据,以建立点对点连接。此信令服务器提供了在网络中设置用户名的功能,用户可以向特定的节点发送消息,或者向网络上的所有人广播消息。

安装

要安装此二进制文件,您需要 Cargo

安装不带 SSL 的信令服务器(适用于本地测试)

cargoinstall rustysignal

如果您想启用 SSL,请确保将其作为功能包含(在生产中使用 WebRTC 时需要)

cargoinstall rustysignal --featuresssl

安装完成后,您可以通过在终端中执行 rustysignal 127.0.0.1:3012 来启动它,这将启动服务器并监听 127.0.0.1:3012 地址的消息。

如果您使用 SSL,则需要提供您的证书。 rustysignal 127.0.0.1:3015 <CERT> <KEY>

作为节点连接到网络

在连接到网络,即 Websocket 时,应提供一个用户名作为简单的参数。

wss://signalserverhost?user=yourname

可以通过以下方式找到节点

  1. 通过提供的用户名进行一对一请求,该请求将您的信息发送到与该用户名相关联的节点。
  2. 一对一请求,将您的信息发送到网络上的所有人。
  3. 一对一请求,将您的信息发送回自己。

要指定方法类型,请在 WebSocket 发送命令中的 protocol 字段中指定。

var json_message = { protocol: "one-to-one", to: "receiver_username", "action": actiontype, "data": data };
ws.send(JSON.stringify(json_message));

依赖项

~8–18MB
~268K SLoC