本文整理汇总了Python中zmq.RCVMORE属性的典型用法代码示例。如果您正苦于以下问题:Python zmq.RCVMORE属性的具体用法?Python zmq.RCVMORE怎么用?Python zmq.RCVMORE使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类zmq
的用法示例。
在下文中一共展示了zmq.RCVMORE属性的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: feedback_loop
# 需要导入模块: import zmq [as 别名]
# 或者: from zmq import RCVMORE [as 别名]
def feedback_loop(self, *args):
# feedback socket
ctx = zmq.Context()
socket = ctx.socket(zmq.SUB)
socket.setsockopt(zmq.SUBSCRIBE, "")
socket.connect(config.get("broadcaster-feedback-url", "tcp://localhost:9110"))
print "brc feedback channel connected"
while True:
msg = [socket.recv()]
while socket.getsockopt(zmq.RCVMORE):
msg.append(socket.recv())
print "feedback msg"
if len(msg) == 3:
self.on_feedback_msg(*msg)
else:
print "bad feedback message", len(msg)
示例2: recv_multipart
# 需要导入模块: import zmq [as 别名]
# 或者: from zmq import RCVMORE [as 别名]
def recv_multipart(self, flags=0, copy=True, track=False):
"""Receive a multipart message as a list of bytes or Frame objects
Parameters
----------
flags : int, optional
Any valid flags for :func:`Socket.recv`.
copy : bool, optional
Should the message frame(s) be received in a copying or non-copying manner?
If False a Frame object is returned for each part, if True a copy of
the bytes is made for each frame.
track : bool, optional
Should the message frame(s) be tracked for notification that ZMQ has
finished with it? (ignored if copy=True)
Returns
-------
msg_parts : list
A list of frames in the multipart message; either Frames or bytes,
depending on `copy`.
Raises
------
ZMQError
for any of the reasons :func:`~Socket.recv` might fail
"""
parts = [self.recv(flags, copy=copy, track=track)]
# have first part already, only loop while more to receive
while self.getsockopt(zmq.RCVMORE):
part = self.recv(flags, copy=copy, track=track)
parts.append(part)
return parts
示例3: recv_multipart
# 需要导入模块: import zmq [as 别名]
# 或者: from zmq import RCVMORE [as 别名]
def recv_multipart(self, flags=0, copy=True, track=False):
"""receive a multipart message as a list of bytes or Frame objects
Parameters
----------
flags : int, optional
Any supported flag: NOBLOCK. If NOBLOCK is set, this method
will raise a ZMQError with EAGAIN if a message is not ready.
If NOBLOCK is not set, then this method will block until a
message arrives.
copy : bool, optional
Should the message frame(s) be received in a copying or non-copying manner?
If False a Frame object is returned for each part, if True a copy of
the bytes is made for each frame.
track : bool, optional
Should the message frame(s) be tracked for notification that ZMQ has
finished with it? (ignored if copy=True)
Returns
-------
msg_parts : list
A list of frames in the multipart message; either Frames or bytes,
depending on `copy`.
"""
parts = [self.recv(flags, copy=copy, track=track)]
# have first part already, only loop while more to receive
while self.getsockopt(zmq.RCVMORE):
part = self.recv(flags, copy=copy, track=track)
parts.append(part)
return parts
示例4: feedback_loop
# 需要导入模块: import zmq [as 别名]
# 或者: from zmq import RCVMORE [as 别名]
def feedback_loop(self, *args):
# feedback socket
ctx = zmq.Context()
socket = ctx.socket(zmq.SUB)
socket.setsockopt(zmq.SUBSCRIBE, "")
socket.connect(config.get("radar-feedback-url", "tcp://localhost:7678"))
print "radar feedback channel connected"
while True:
msg = [socket.recv()]
while socket.getsockopt(zmq.RCVMORE):
msg.append(socket.recv())
if len(msg) == 2:
self.on_feedback_msg(*msg)
else:
print "bad feedback message", len(msg)