java - 如何从 Java SUB 客户端 (ZMQ) 上的 python ZeroMQ PUB 服务器接收数据

标签 java android zeromq

我正在与 Pupil Labs 合作,这是一个巨大的眼睛/瞳孔跟踪开源软件。整个代码是用 Python 编写的。所谓Pupil Remote基于 ZeroMQ。

如果我开始运行 Filter Messages一切安好。出于我的目的,我需要“翻译”Filter Messages进入 Java,因为我创建了一个 Android 应用程序,它应该调用一个客户端,该客户端的目的是充当 python 客户端。

这是我到目前为止所做的:

import android.annotation.SuppressLint;
import org.zeromq.ZMQ;
import java.nio.charset.Charset;
import static java.lang.Thread.sleep;

public class ZeroMQClient {
    @SuppressLint("NewApi")
    public static void requestGazeData() {

        ZMQ.Context context = ZMQ.context(1);
        ZMQ.Socket subscriber = context.socket(ZMQ.SUB);

        System.out.println("Connecting to server...");

        subscriber.connect("tcp://xxx.x.x.x:50020");

        System.out.println("Connected");

        String gaze = "gaze";
        subscriber.subscribe(gaze.getBytes(Charset.forName("UTF-8")));

        while (true) {
            String msg = subscriber.recvStr();
            System.out.println(msg);

            subscriber.close();
            context.term();
        }
    }
}

现在如您所料,为什么我要问您,没有任何反应,我没有从 Pupil Labs 服务器收到任何数据。我将自己定位于 this post ,但不幸的是,它对我没有用。 IP 地址和端口也与服务器上的相同。它既不在本地也不在远程工作。

对任何答案都很满意,因为我一直坚持这一点。

最佳答案

由于在我的实现方面建立正确,实际问题是防火墙,它只是阻止了连接。通过发布我的解决方案,我希望能够帮助这个问题的 future 访问者。

关于java - 如何从 Java SUB 客户端 (ZMQ) 上的 python ZeroMQ PUB 服务器接收数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49158547/

相关文章:

android - Ormlite连接mysql数据库

java - 在我的 servlet 中调用 Store.connect 挂起

java - 如何访问另一个类中定义的线程?

android - Crashlytics 在迁移到 Fabric 后不起作用

android - 在 Eclipse 中为 ndk 程序设置构建路径

sockets - ZMQ 客户端- worker 通信模式

c++ - zeromq 中工作的 XSUB/XPUB 代理的简单示例是什么

c - zfile_stable 中的 stable 是什么意思 - CZMQ

java - 有没有办法禁用 ShowcaseView 后面的 View (TargetView 内部)的点击?

返回整数数组的 Java Spark UDF 给我 ClassException