Rust nanomsg板条箱示例不起作用

Rust nanomsg板条箱示例不起作用,rust,nanomsg,Rust,Nanomsg,我试过Rust nanomsg,但不起作用 我在单独的控制台窗口中执行了这些操作: cargo run——示例pubsub——设备hoge 它表明 订阅了“[104111103101]”。 设备准备好了。 cargo run——示例pubsub——客户端hoge 它表明 订阅了“[104111103101]”。 cargo run——示例pubsub——服务器hoge 它表明 服务器已准备就绪。 出版了“[104111103101]#1”。 出版了“[104111103101]#2”。 出版

我试过Rust nanomsg,但不起作用

我在单独的控制台窗口中执行了这些操作:

  • cargo run——示例pubsub——设备hoge

    它表明

    订阅了“[104111103101]”。
    设备准备好了。
    
  • cargo run——示例pubsub——客户端hoge

    它表明

    订阅了“[104111103101]”。
    
  • cargo run——示例pubsub——服务器hoge

    它表明

    服务器已准备就绪。
    出版了“[104111103101]#1”。
    出版了“[104111103101]#2”。
    出版“[104111103101]#3”。
    ...
    
  • 这三个命令都在运行,没有一个退出。我希望控制台2能够显示:

    订阅了“[104111103101]”。
    记录“[104、111、103、101]#1”。
    记录“[104、111、103、101]#2”。
    记录“[104、111、103、101]#3”。
    ...
    
    但是什么也没有展示

    我的环境是

    • Max OS X Sierra
    • nanomsg 1.0.0
    • rustc 1.16.0

    这是服务器代码的问题,已在主分支()中修复。下面是错误的代码段():

    发布的消息是使用
    格式生成的宏,它将主题打印为字节数组,而不是文本片段。不同的主题标识符导致没有订阅者接收消息


    该示例由当前的维护人员修复。作为结束语,此API的用户必须记住,发布消息的第一个字节始终指向订阅主题。

    我可以复制此内容。老实说,实际例子可能真的有问题,所以我提出了一个问题:
    let msg = format!("{:?} #{}", topic,  count);
    match socket.write_all(msg.as_bytes()) {
        Ok(..) => println!("Published '{}'.", msg),
        Err(err) => {
            println!("Server failed to publish '{}'.", err);
            break
        }
    }