3个版本

使用旧的Rust 2015

0.1.3 2019年3月11日
0.1.2 2018年8月28日
0.1.1 2018年8月27日
0.1.0 2018年8月12日

#6 in #nt


用于nt-packet-derive

MIT许可证

8KB
151

nt-rs

nt-rs是使用Tokio在Rust中实现的NetworkTables修订版3协议。目前它纯粹是一个客户端库。未来可能提供创建NT服务器的API。

入门

此库可在https://crates.io找到,并可以使用nt代码添加到项目中。

什么是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");

Network Tables in JavaScript (WIP)

由于nt依赖于tokio进行其运行时,因此不能直接编译为wasm,但在./nt-ws处提供了一个补充crate,该crate可以编译为wasm。此crate仅支持NT客户端,并使用wasm_bindgen导出一个兼容JavaScript的API。

许可证

本项目采用MIT许可证。

致谢

感谢Jess Creighton(https://github.com/jcreigh)给了我这个想法

依赖关系

~470KB