8个不稳定版本 (3个重大更改)
0.3.0 | 2023年6月28日 |
---|---|
0.2.0 | 2023年6月28日 |
0.1.1 | 2021年4月9日 |
0.0.4 | 2021年4月7日 |
#638 in 异步
33KB
761 行
便利版本
- 谨慎使用
- 如果你不知道自己在做什么,请使用原始的tokio-stomp
- 添加发送和接收头
tokio-stomp-2
使用Tokio堆栈的异步STOMP客户端(可能最终还包括服务器)
它旨在快速且功能齐全,具有简单的流式接口。
示例
向队列发送消息。
use futures::prelude::*;
use tokio_stomp_2::client;
use tokio_stomp_2::ToServer;
#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
let mut conn = client::connect("127.0.0.1:61613", None, None).await.unwrap();
conn.send(
ToServer::Send {
destination: "queue.test".into(),
transaction: None,
headers: vec!(),
body: Some(b"Hello there rustaceans!".to_vec()),
}
.into(),
)
.await.expect("sending message to server");
Ok(())
}
从队列接收消息。
use futures::prelude::*;
use tokio_stomp_2::client;
use tokio_stomp_2::FromServer;
#[tokio::main]
async fn main() -> Result<(), std::io::Error> {
let mut conn = client::connect("127.0.0.1:61613", None, None).await.unwrap();
conn.send(client::subscribe("queue.test", "custom-subscriber-id")).await.unwrap();
while let Some(item) = conn.next().await {
if let FromServer::Message { message_id,body, .. } = item.unwrap().content {
println!("{:?}", body);
println!("{}", message_id);
}
}
Ok(())
}
完整示例请参阅示例目录。
许可证: MIT
依赖项
~6–18MB
~187K SLoC