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次下载

MIT 许可协议

22KB
405

Build Status Docs

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