24 个版本 (10 个稳定版)
3.0.0 | 2020 年 4 月 10 日 |
---|---|
2.1.2 | 2020 年 3 月 10 日 |
2.1.1 | 2020 年 2 月 20 日 |
1.0.3 | 2019 年 6 月 25 日 |
0.3.1 | 2018 年 9 月 15 日 |
#139 in WebSocket
53KB
1K SLoC
nt-rs
nt-rs 是使用 Tokio 在 Rust 中实现的 NetworkTables 版本 3 协议。目前它是一个纯客户端库。将来可能会添加创建 NT 服务器 API。
入门
此库可以在 https://crates.io 上找到,可以使用 nt = "0.1.0"
添加到项目中。示例用法可以在 examples/
目录中找到
什么是 NetworkTables?
NetworkTables,或 NT,是一个基于 TCP 的键值数据存储协议。它主要用于 FIRST 机器人竞赛机器人的代码中,用于在机器人网络中共享数据。
示例
连接到服务器
let mut nt = NetworkTables::connect("10.TE.AM.2:1735", "nt-rs-client")?;
创建服务器
let mut nt = NetworkTables::bind("0.0.0.0:1735", "nt-rs-server");
WebSockets
nt
1.0.0 添加了对通过 WebSockets 通信的客户端和服务器支持。这被锁定在 websocket
功能之后。
连接到 WebSocket 服务器
let mut nt = NetworkTables::connect_ws("ws://10.TE.AM.2:1735", "nt-ws-client")?;
创建 WebSocket 服务器
如果程序使用 WebSocket 功能编译,现有的 NetworkTables 服务器可以提供 WebSocket 服务。在尝试连接到未配置 WebSocket 客户端的服务器的 WebSocket 请求中,它将收到一条错误消息,并且连接将被断开。
许可证
本项目采用 MIT 许可证。
致谢
感谢 Jess Creighton (https://github.com/jcreigh) 给了我这个想法
依赖项
~6MB
~107K SLoC