我正在学习nanomsg库。在
我使用了C和Python版本的代码示例。我试图用Python脚本订阅C服务,但是什么都没有发生。在
以下是我的两个代码:
Python订阅服务器
from __future__ import print_function
from nanomsg import Socket, PAIR, PUB
s2 = Socket(PAIR)
while(True):
s2.connect('tcp://127.0.0.1:5555')
s2.send(b'hello nanomsg #1')
s2.send(b'hello nanomsg #2')
s2.close()
C代码:
^{pr2}$我运行C代码的方法是
./pubsub_demo tcp://127.0.0.1:5555 -s
谢谢你的帮助
C代码看起来不错。它来自here。在
C
NN_PUB
服务器和NN_SUB
客户端的简单版本也是exists。在提供的Python代码有一些问题。在
1)在nanomsg中,我们必须匹配行为-“协议”。为了接收来自C服务器的
NN_PUB
广播,我们必须在Python端有一个匹配的SUB
,而不是PAIR
,套接字。在2)连接到同一个端点-
transport-class://address:port
作为NN_PUB
套接字nn_bind()
-s到。没有必要在循环中这样做。在3)套接字必须设置
SUB_SUBSCRIBE
选项。在4)
SUB
插座是用来监听的,它不是用来.send()
任何东西的。在一个未经测试的Python程序原则上可以如下所示:
您还可以查看Python测试PUB/SUB example
我希望有帮助。在
相关问题 更多 >
编程相关推荐