3个版本
使用旧的Rust 2015
0.1.4 |
|
---|---|
0.1.3 | 2018年8月27日 |
0.1.2 | 2018年8月19日 |
0.1.1 | 2018年8月12日 |
0.1.0 |
|
#13 in #nt
15KB
307 行
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
特性之后。
连接到Websockets服务器
let mut nt = NetworkTables::connect_ws("ws://10.TE.AM.2:1735", "nt-ws-client")?;
创建Websockets服务器
let mut nt = NetworkTables::bind_ws("0.0.0.0:1735", "nt-ws-server");
JavaScript中的网络表格(WIP)
由于nt依赖于tokio进行其运行时,因此无法直接将nt编译为wasm,在./nt-ws
提供了一个补充crate,该crate可以编译为wasm。此crate仅支持NT客户端,并使用wasm_bindgen导出一个兼容JavaScript的API。
许可证
本项目采用MIT许可证。
鸣谢
感谢Jess Creighton (https://github.com/jcreigh) 给出了这个想法
依赖项
~2.5MB
~55K SLoC