Hi
I'm trying to write a device server where I want to have a zmq socket listening on port.

The zmq context is initialised with this code:
  async def setup_zmq(self):
    self.context = zmq.Context()
    self.receiver = self.context.socket(zmq.PULL)
    self.receiver.connect("tcp://10.42.41.10:9999")

    print("receiver set up")

    return 0


Now I want to run a function like this without blocking the detector:
  async def run_zmq(self):
    while (True):
      print('ZMQ receiving started')
      message_parts = self.receiver.recv_multipart(copy = False)
      print('Message received')


I tried some things with asyncio, but I'm not able to start this without blocking the server. Is something like this possible? If so, then how?