本文整理汇总了Python中zmq.eventloop.zmqstream.ZMQStream.on_recv_stream方法的典型用法代码示例。如果您正苦于以下问题:Python ZMQStream.on_recv_stream方法的具体用法?Python ZMQStream.on_recv_stream怎么用?Python ZMQStream.on_recv_stream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zmq.eventloop.zmqstream.ZMQStream
的用法示例。
在下文中一共展示了ZMQStream.on_recv_stream方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: ManagerControlled
# 需要导入模块: from zmq.eventloop.zmqstream import ZMQStream [as 别名]
# 或者: from zmq.eventloop.zmqstream.ZMQStream import on_recv_stream [as 别名]
class ManagerControlled(object):
def __init__(self, *args, **kwargs):
self.context = Context.instance()
self.loop = IOLoop.instance()
self.control_socket = self.context.socket(SUB)
self.control_socket.setsockopt(LINGER, 0) # discard unsent messages on close
self.control_socket.setsockopt(SUBSCRIBE, '')
self.control_socket.connect('tcp://{}:{}'.format(MANAGER_PUB_ADDRESS, MANAGER_PUB_PORT))
self.control_stream = ZMQStream(self.control_socket, self.loop)
self.control_stream.on_recv_stream(self.control_handler)
def control_handler(self, stream, message_list):
for message in message_list:
try:
notification, data = message.split()
except ValueError:
notification = message
if notification == NOTIFICATION_PROCESS_STOP:
self.stop()
def stop(self):
self.control_stream.stop_on_recv()
self.control_stream.close()
self.control_socket.close()
示例2: main
# 需要导入模块: from zmq.eventloop.zmqstream import ZMQStream [as 别名]
# 或者: from zmq.eventloop.zmqstream.ZMQStream import on_recv_stream [as 别名]
def main():
import sys
from PyQt4 import QtGui, Qt
from eventloop import QtLoop, ZMQLoop
from kernel import Kernel
from epubsub.hub import Hub
import zmq
from zmq.eventloop.zmqstream import ZMQStream
def callback(stream, msg):
print msg
stream.send('OK')
print 'running'
#app = QtGui.QApplication(sys.argv)
loop = ZMQLoop()
loop.install()
kernel = Kernel()
ctx = zmq.Context()
socket = ctx.socket(zmq.ROUTER)
socket.bind('tcp://127.0.0.1:11111')
stream = ZMQStream(socket)
stream.on_recv_stream(callback)
loop.start()
示例3: bind
# 需要导入模块: from zmq.eventloop.zmqstream import ZMQStream [as 别名]
# 或者: from zmq.eventloop.zmqstream.ZMQStream import on_recv_stream [as 别名]
def bind(self, port):
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind(port)
stream = ZMQStream(socket)
stream.on_recv_stream(self.dispatch)
示例4: ZMQStream
# 需要导入模块: from zmq.eventloop.zmqstream import ZMQStream [as 别名]
# 或者: from zmq.eventloop.zmqstream.ZMQStream import on_recv_stream [as 别名]
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect("tcp://127.0.0.1:5556")
stream = ZMQStream(socket)
def echo(stream, msg):
global this
global last
this = int(time.time())
global tc
global total
tc += 1
total += 1
if this != last:
print str(tc) + ' ' + str(total)
tc = 0
last = this
# stream.send_multipart(msg)
stream.on_recv_stream(echo)
def send():
stream.send(b"Hello")
ioloop.IOLoop.instance().add_callback(send)
ioloop.IOLoop.instance().add_callback(send)
ioloop.IOLoop.instance().start()
示例5: ZMQStream
# 需要导入模块: from zmq.eventloop.zmqstream import ZMQStream [as 别名]
# 或者: from zmq.eventloop.zmqstream.ZMQStream import on_recv_stream [as 别名]
if sys.argv[1] == 'server':
# Setup a REP ZMQ socket
context = zmq.Context()
socket = context.socket(zmq.REP)
socket.bind('tcp://127.0.0.1:8889')
# See http://zeromq.github.io/pyzmq/eventloop.html
# Setup the event loop
# loop = tornado.ioloop.IOLoop.instance()
ioloop.install()
# Add a ZMQStream made from the socket to the event loop
stream = ZMQStream(socket)
# Register recv callback
stream.on_recv_stream(recv_callback_stream)
# How to add a periodic callback to the event loop
periodic = ioloop.PeriodicCallback(periodic_callback, 1000)
# periodic_callback will be called each second
periodic.start()
# Setup tornado webserver on :8888
app.listen(8888)
# And start the event loop
print 'Open a browser to http://localhost:8888'
ioloop.IOLoop.instance().start()
elif sys.argv[1] == 'client':
if len(sys.argv) != 5:
示例6: ZMQStream
# 需要导入模块: from zmq.eventloop.zmqstream import ZMQStream [as 别名]
# 或者: from zmq.eventloop.zmqstream.ZMQStream import on_recv_stream [as 别名]
socket.send_multipart(msg)
time.sleep(0.1)
run_event = threading.Event()
run_event.set()
t = threading.Thread(target=threaded_loop)
t.daemon = False
t.start()
# listeners can request the knownStreams dictionary on a req-rep socket
info_socket = context.socket(zmq.REP)
info_socket.bind("tcp://*:5557")
info_stream = ZMQStream(info_socket)
info_stream.on_recv_stream(processInfoMsg)
try:
ioloop.IOLoop.instance().start()
except KeyboardInterrupt:
print("Halt signal detected. Cleaning up...")
except:
print "Exception in server code:"
print '-'*60
traceback.print_exc(file=sys.stdout)
print '-'*60
print("Cleaning up...")
finally:
run_event.clear()
t.join()
info_socket.close()