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

MIT许可证

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