zmq.Poller не получает никаких сообщений в Python - PullRequest
1 голос
/ 04 мая 2019

Это код, который я использую для получения сообщений 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)

Он работает в других файлах в проекте, над которым я работаю, однако в этом конкретном файле он ничего не получает. Я попытался поместить оператор print в цикл for, и он вообще ничего не печатал. Любые советы о том, почему это? Спасибо

1 Ответ

0 голосов
/ 05 мая 2019

Когда я получил свой сокет от устройства опроса, мне не удалось правильно вызвать данные.

Что я использовал:

my_sock.status

То, что мне нужно было позвонить:

my_sock.MyStruct.status

Я просто забыл назвать имя структуры, в которой я создал свои переменные в log.capnp:

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