1个不稳定版本
0.1.0 | 2024年4月25日 |
---|
#11 在 #套接字
11KB
211 行
local-socket
tokio支持的Unix域套接字简单客户端
/ 服务器
包装器。
无需自己实现消息封装。在底层,当通过线发送字节数组时,它会处理消息封装。
当客户端向服务器发送字节数组(反之亦然)时,服务器保证在另一端接收到一个包含完整数组的单个事件。
使用方法
服务器
let dir = TempDir::new().unwrap();
let socket = dir.path().join("foobar.socket");
// Create a new server listening at a filesystem path
let mut server = SocketServer::listen(socket).unwrap();
loop {
// Handle inbound connections
let mut connection = server.next().await.unwrap().unwrap();
// Receive a message from the client
let msg = connection.next().await.unwrap().unwrap();
// Send the client a message
connection.write("pong".into()).unwrap();
}
客户端
let mut connection = SocketConnection::connect(socket).await.unwrap();
// Ping - Pong
loop {
// Send the server a message
connection.write("ping".into()).unwrap();
// Receive a message from the server
let msg = connection.next().await.unwrap().unwrap();
}
依赖项
~3–12MB
~116K SLoC