5个不稳定版本
0.3.1 | 2020年6月22日 |
---|---|
0.3.0 | 2020年6月21日 |
0.2.0 | 2020年6月17日 |
0.1.1 | 2020年6月16日 |
0.1.0 | 2020年6月16日 |
123 在 #udp
每月22次下载
22KB
405 行
aurpc
异步UDP RPC。
提供类似于套接字的接口,允许发送请求并等待响应,以及监听请求,使用UDP作为传输。
这是通过在UDP之上实现一个24位协议头完成的,该协议头包含8位标志和16位请求ID。
1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Request Id |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
由于UDP数据报可以携带的最大数据字节为65507。这意味着,加上额外的开销,每条消息的最大长度为65504字节
。
示例
use aurpc::RpcSocket;
let socket = RpcSocket::bind("127.0.0.1:8080").await?;
let mut buf = vec![0u8; 1024];
loop {
let (n, responder) = socket.recv_from(&mut buf).await?;
responder.respond(&buf[..n]).await?;
}
许可协议
本包采用MIT许可协议。有关详细信息,请参阅许可协议。
依赖项
~6–17MB
~193K SLoC