- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 C++ ZMQ Publisher 中,我将字符串打包到 message_t 中,如下所示:
int main()
{
zmq::context_t context(1);
zmq::socket_t socket(context, ZMQ_PUB);
socket.bind("tcp://*:5555");
socket.setsockopt(ZMQ_CONFLATE, 1);
std::cout << "Server Up and Sending\n";
while(true)
{
std::string str = "Hello from C++!";
zmq::message_t msg(str.data(), str.length());
bool ret = socket.send(msg);
if(ret)
{
std::cout << "Sending\n";
}
}
return 0;
}
我正在尝试弄清楚如何在 JeroMQ(Java ZMQ)中接收;这是我目前所拥有的:
ZMQ.Context context = ZMQ.context(1);
ZMQ.Socket socket = context.socket(ZMQ.SUB);
socket.connect("tcp://localhost:5555");
socket.subscribe("".getBytes());
while(true)
{
String msg = socket.recvStr();
System.out.println(msg);
}
同样在 PyZMQ(Python ZMQ)中:
import zmq
context = zmq.Context()
socket = context.socket(zmq.SUB)
address = 'tcp://localhost:5555'
socket.connect(address)
socket.setsockopt_string(zmq.SUBSCRIBE, unicode(''))
print "start"
print "connecting to ", address
while True:
try:
msg = socket.recv_string()
print msg
但是,我的 JeroMQ 尝试或 PyZMQ 尝试都没有收到我的字符串消息。
最佳答案
尝试使用此代码段订阅 pyzmq :
import zmq
import time
port = "5555"
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.setsockopt(zmq.SUBSCRIBE, '')
socket.setsockopt(zmq.CONFLATE, 1) # last msg only.
socket.connect("tcp://localhost:%s" % port) # must be placed after above options.
while 1:
time.sleep(1)
data = socket.recv()
print data
[注意]:
如果不起作用,请在您的 C++ ZeroMQ 发布者中删除以下行:
socket.setsockopt(ZMQ_CONFLATE, 1);
关于java - ZeroMQ 跨语言消息翻译 CPPZMQ -- JeroMQ -- PyZMQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44836564/
我正在尝试使用 ZMQ与 CPPZMQ C++ 包装器,它似乎是 C++ Bindings 中建议的包装器. 客户端/服务器(REQ/REP)似乎工作正常。当尝试实现一对发布/订阅程序时,第一条消息似
我在示例发布器中使用了两个主题。两者都以相同的字符串开头。当我仅使用两个主题之一过滤订阅者中的消息时,订阅者会收到这两个主题 如果我使用两个不同的主题,它就可以工作 我的示例发布商 try (ZCon
在 C++ ZMQ Publisher 中,我将字符串打包到 message_t 中,如下所示: int main() { zmq::context_t context(1); z
以下服务器和客户端代码是 the official tutorial 的略微修改版本.我对他们的输出的解释是,无论他们发送或接收什么,总是 1 个字节。怎么会这样? 服务器.cpp: #include
我把这个最小的例子放在一起,以便将消息从路由器套接字发送到特定的 DEALER socker(它有它的身份集)。当运行这两个程序时,它似乎卡在 ROUTER 上等待来自 DEALER 的回复,而 DE
我的用例通常只涉及一个全局上下文。据我所知,pyzmq 有一个 API zmq.Context.instance() 来获取全局单例,但我找不到等效的 cppzmq API。 是否可以访问全局上下文而
在Linux-Ubuntu上安装ZeroMQ,一个网站 https://tuananh.org/2015/06/16/how-to-install-zeromq-on-ubuntu/ 说要运行以下命令
我是一名优秀的程序员,十分优秀!