PyZmq Tornado Event Loop

pyzmq是ZeroMQ消息库的Python包装器。

Facebook的Tornado包括一个eventloop,用于在文件描述符和本机套接字上处理轮询事件。pyzmq已经包含了Tornado的一小部分(特别是它的ioloop),并将其IOStream类适配到ZMQStream中,以处理ØMQ套接字上的轮询事件。ZMQStream对象的工作方式与套接字对象非常相似,但不是直接调用recv(),而是使用on_recv()注册回调。回调函数也可以通过on_send()来注册send事件。

下面是一个带有zeroMQ PUB子套接字的Tornado HTTP服务器示例:

#!/usr/bin/env python
import json
import tornado
import tornado.web
import zmq
from tornado import httpserver
from zmq.eventloop import ioloop
from zmq.eventloop.zmqstream import ZMQStream

ioloop.install()
tornado.ioloop = ioloop
import sys


def ping_remote():
    """callback to keep the connection with remote server alive while we wait
    Network routers between raspberry pie and cloud server will close the socket
    if there is no data exchanged for long time.
    """
    pub_inst.send_json_data(msg=&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值