我正在学习在 android 中使用 zeromq 轮询。我正在对 android 程序(客户端)中的 req 套接字和子套接字进行轮询。这样该客户端既可以接收来自服务器的回复消息,也可以接收发布的消息。
我的投票不起作用。请求套接字和发布套接字都没有被轮询。如果我不使用轮询,两个套接字都会收到消息。
我尝试在线搜索,但找不到任何相关内容。客户端代码是这样的:
public void run()
{
ZMQ.Context context = ZMQ.context(1);
ZMQ.Socket reqsocket = context.socket(ZMQ.REQ);
ZMQ.Socket subsocket =context.socket(ZMQ.SUB);
reqsocket.connect("tcp://10.186.3.174:8081");
subsocket.connect("tcp://10.186.3.174:8083");
subsocket.subscribe("".getBytes());
byte[] receivedmessage;
Poller poller=context.poller();
poller.register(reqsocket,Poller.POLLIN);
poller.register(subsocket,Poller.POLLIN);
reqsocket.send(msg.getBytes(),0);
while(!Thread.currentThread().isInterrupted())
{
if(poller.pollin(0))
{
receivedmessage=s.recv(0);
}
if(poller.pollin(0))
{
receivedmessage=subsocket.recv(0);
}
}
s.close();
context.term();
}
我错过了什么或做错了什么?