def checkForMessage(self, socket):
""" Check on socket activity if there is a complete ZMQ message.
@param socket: ZMQ socket
"""
logging.debug( "Check: {0!s}".format(self.readnotifier.socket()))
self.readnotifier.setEnabled(False)
check = True
try:
while check:
events = self.socket.get(zmq.EVENTS)
check = events & zmq.POLLIN
logging.debug( "EVENTS: {0!s}".format(events))
if check:
try:
msg = self.socket.recv_multipart(zmq.NOBLOCK)
except zmq.ZMQError as e:
if e.errno == zmq.EAGAIN:
# state changed since poll event
pass
else:
logging.info( "RECV Error: {0!s}".format(zmq.strerror(e.errno)))
else:
logging.debug( "MSG: {0!s} {1!s}".format(self.readnotifier.socket(), msg))
self.sigMsgRecvd.emit(msg)
except:
pass
else:
self.readnotifier.setEnabled(True)
评论列表
文章目录