8 个稳定版本
3.0.0 | 2020 年 4 月 10 日 |
---|---|
2.1.0 | 2020 年 2 月 10 日 |
2.0.0 | 2020 年 1 月 15 日 |
1.0.3 | 2019 年 6 月 25 日 |
#5 in #nt
用于 nt
28KB
870 行
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 进行客户端和服务器通信的支持。这位于 websockets
功能之后。
连接到 WebSocket 服务器
let mut nt = NetworkTables::connect_ws("ws://10.TE.AM.2:1735", "nt-ws-client")?;
创建 WebSocket 服务器
let mut nt = NetworkTables::bind_ws("0.0.0.0:1735", "nt-ws-server");
JavaScript 中的 Network Tables (WIP)
由于 nt
依赖于 Tokio 的运行时,无法直接编译为 wasm,因此在 ./nt-ws
提供了一个补充的 crate,该 crate 可以编译为 wasm。此 crate 仅支持 NT 客户端,并使用 wasm_bindgen 导出一个 JavaScript 兼容的 API。
许可证
本项目采用 MIT 许可证。
致谢
感谢 Jess Creighton (https://github.com/jcreigh) 给予我灵感
依赖关系
~5MB
~79K SLoC