2个版本
0.3.1 | 2021年3月2日 |
---|---|
0.3.0 | 2021年3月2日 |
#6 in #纯数据
29KB
496 行
Fast Universal Digital Interface网络协议的实现。这可以通过netsend / netreceive对象与Pure Data通信。 注意:此实现不处理消息原子中的转义空白。
规范暗示消息使用ASCII编码。根据旧wiki页面中的Java示例,消息需要一个尾随换行符(即 '\n')。这并未在FUDI规范中明确提及。
示例
- 发送随机浮点数
- 运行补丁 "send_random_floats.pd"
- 运行:
cargo run --examples send_random_floats
- 接收随机浮点数
- 运行补丁 "receive_random_floats.pd"
- 运行:
cargo run --examples receive_random_floats
- 接收bang
- 运行补丁 "recevie_bang.pd"
- 运行: `cargo run --example receive_bang"`
待办事项
- 处理消息中的非字母数字字符
- 处理原子中的转义空白
- 处理TCP
参考资料
- 规范(通过archive.org)
- wikipedia: FUDI
- Pure Data
- Pure Data消息
- 未记录的内部消息
- nom - 解析器组合框架
- ASCII
- graphviz 用于绘制解析有限状态机
依赖项
~2.5MB
~50K SLoC