5个版本
0.1.4 | 2022年5月4日 |
---|---|
0.1.3 | 2022年4月22日 |
0.1.2 | 2021年7月8日 |
0.1.1 | 2021年7月8日 |
0.1.0 | 2021年6月25日 |
#10 in #subnet
13KB
295 代码行
🌏 YMMP: Yumetter消息协议
先决条件
- Rust工具链1.53.0+
概述
YMMP是一种用于在网络或子网内向所有节点广播通知的协议,为Yumetter项目制作。底层协议是UDP(用户数据报协议),默认使用端口17339。
用法
use std::net::{Ipv4Addr, SocketAddr, SocketAddrV4};
fn main() {
let addr = SocketAddrV4::new(Ipv4Addr::LOCALHOST, 17339);
let target = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::BROADCAST, 17339));
let broadcaster = ymmp::Broadcaster::bind(addr, target);
let message = vec![b'h', b'e', b'l', b'l', b'o'];
let packet = ymmp::Packet::new(message);
broadcaster
.broadcast(packet)
.expect("Failed to broadcast.")
;
}
图示
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
---|---|---|---|---|---|---|---|---|
0 | 魔法字节 (YMMP ) |
版本 (v0.1 ) |
||||||
8 | 消息长度(小端序) | |||||||
16 | 原始消息(0..N字节) | |||||||
32 |
依赖项
~3–14MB
~124K SLoC