【发布时间】:2021-06-28 17:20:54
【问题描述】:
我正在尝试实现类似于Figure 14 - Extended Pub-Sub 中描述的模型。
我看过这个snippet,它工作正常。但是在尝试实现第一部分时(即:{pub, ...} -> {xsub 我在xsub 套接字上没有收到任何数据。
以下代码永远阻塞,而不是接收消息:
use zmq::{Context, SocketType::XSUB, PUB};
const ADDRESS_XSUB: &'static str = "tcp://127.0.0.1:9123";
fn main() {
let context = Context::new();
let xsubscriber = {
let socket = context.socket(XSUB).unwrap();
socket.bind(ADDRESS_XSUB).unwrap();
socket
};
let publisher = {
let context = Context::new();
let socket = context.socket(PUB).unwrap();
socket.connect(ADDRESS_XSUB).unwrap();
socket
};
publisher.send("", zmq::SNDMORE).unwrap();
publisher.send("HI", 0x00).unwrap();
assert_eq!(b"HI".as_ref(), &xsubscriber.recv_bytes(0).unwrap());
}
【问题讨论】: