Rust ZeroMQ绑定。
文档
发行说明
目前,rust-zmq需要ZeroMQ 4.1或更高版本。例如,在最近的基于Debian的发行版中,您可以使用以下命令来安装prerequiste标头和库:
apt install libzmq3-dev
如果您选择的操作系统不提供足够新的libzmq软件包,您首先必须从源代码安装它;见 https://github.com/zeromq/libzmq/releases 。
rust-zmq使用货物进行安装。用户应将此添加到他们的Cargo.toml文件:
Cargo.toml
[dependencies] zmq = "0.8"
构建通常使用pkg-config来查找libzmq的位置。如果不可用,则可以定义环境变量LIBZMQ_PREFIX(或者,LIBZMQ_LIB_DIR和LIBZMQ_INCLUDE_DIR)以避免调用pkg-config。
pkg-config
LIBZMQ_PREFIX
LIBZMQ_LIB_DIR
LIBZMQ_INCLUDE_DIR
rust-zmq是一个非常直接的C API到Rust的端口:
rust-zmq
extern crate zmq; fn main() { let ctx = zmq::Context::new(); let mut socket = ctx.socket(zmq::REQ).unwrap(); socket.connect("tcp://127.0.0.1:1234").unwrap(); socket.send_str("hello world!", 0).unwrap(); }
您可以在https://github.com/erickt/rust-zmq/tree/master/examples中找到更多用法示例。
安装有助于rust-zmq:
% git clone https://github.com/erickt/rust-zmq % cd rust-zmq % cargo build
请注意,master分支当前处于API中断模式,同时我们尝试使API对于0.9版本系列更具说明性和灵活性。
master
0.9
这意味着应该为release/v0.8分支提交不需要中断API的拉取请求(例如错误修正)。这也适用于新功能,如果它们可以以API兼容的方式实现,则pull请求也应该针对release/v0.8。在开始编码之前,请提交缺失功能的问题,以便可以预先澄清合适的分支和其他潜在问题。
release/v0.8
使用分支的原因,并因此增加了所有相关的开销,是因为目前尚不清楚需要花多长时间才能达到master中的一个点,我们觉得在释放为0.9.0时会感觉很舒服,就像我们想要的那样到那时,或多或少地修复API的核心部分。使用release/v0.8分支,我们可以在此期间提供错误修正和较小的功能,而无需强制用户遵循主变更API并不断调整其代码以适应API更改。