zmq.Poller 在 Python 中没有收到任何消息

zmq.Poller not receiving any messages in Python

这是我用来接收 zmq 消息的代码:

poller = zmq.Poller()
for socket, event in poller.poll(0):
    if socket is my_sock:
        my_sock = messaging.recv_one(socket).my_data
print(my_sock.status)

它在我正在处理的项目中的其他文件中有效,但是,在这个特定文件中它没有收到任何东西。我尝试在 for 循环中放置一个 print 语句,但它根本无法打印任何内容。关于为什么会这样的任何提示?谢谢

当我从轮询器获取套接字时,我无法正确调用数据。

我用过的:

my_sock.status

我需要调用的内容:

my_sock.MyStruct.status

我只是忘了调用我在 log.capnp 中实例化我的变量的结构的名称:

struct MyStruct{
  status @0 :Bool;
  speed @1 :Float32;
  angle @2 :Float32;
  time @3 :Float32;
}