移植到python的socket.io多进程公告通道

socket.io-announce的Python项目详细描述


https://travis-ci.org/GetBlimp/socket.io-announce.png?branch=master

用于socket.io redistore的轻量级基础结构广播。 这是从node.js项目dshaw/socket.io-announce移植的。 多亏了@dshaw

安装

pip install socket.io-announce

在堆栈中的任何位置使用,独立于其他socket.io服务器。

fromannounceimportAnnounceannounce=Announce()announce.emit('status',{'msg':'Going down for maintenance in 15 minutes','countdown':10000})

向所有用户发送。

announce.send('Hello, world!')announce.emit('quote',{'symbol':'APPL','price':5000})

目标Socket.io房间。

announce.send('Yoyo yo!',room='boardroom')announce.emit('tweet',{'id':'1','user':'@dshaw','text':'Keeping things small...'},room='nodeup')

target socket.io命名空间(也包括房间)。

announce=Announce(namespace='/namespace')announce.emit('episode',{'url':'http://www.nodeup.com/twentyfour'},room='nodeup')

自定义JSON序列化

如果在尝试序列化数据类型(如日期/时间/时间增量、十进制、生成器或任何其他类型)时遇到json错误 标准json库不支持这一点,您可能需要使用自定义jsonencoder。

defcustom_json_dumps(data):returnjson.dumps(data,cls=CustomJSONEncoder)announce=Announce(namespace='/namespace',json_dumps=custom_json_dumps)announce.emit('episode',{'date':datetime.datetime.today()},room='nodeup')

许可证

(麻省理工学院许可证)

版权所有(c)2014 Blimp LLC-Giovanni Collazo

特此免费向任何获得 本软件和相关文档文件的副本 “软件”),无限制地处理软件,包括 但不限于使用、复制、修改、合并、发布, 分发、再授权和/或出售软件副本,以及 允许向其提供软件的人员这样做,但须遵守 以下条件:

上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。

软件按“原样”提供,不作任何形式的保证 或默示的,包括但不限于 适销性、适合特定目的和不侵权。 在任何情况下,作者或版权持有人均不对任何 索赔、损害赔偿或其他责任,无论是在合同诉讼中, 侵权行为或其他,由 软件或软件中的使用或其他交易。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ParsePushReceiver参数   java如何从设备读取完整数据?   java将java_设置为home,但忽略错误   java如何从歌曲中对专辑进行排序?   java libnaude+windows 10 x64+Eclipse   java如何将maven目标更改为如图所示的想法中的quickicon?   java swing布局中心面板,可滚动显示多个窗口窗格   使用MOSQUITO代理的mqtt中的java SSL   java如何通过属性值获取XML字符串   java在服务器每次启动时停止GWT编译   java如何让javac搜索类路径的子目录?   可以比较java中的两个不同类吗?   JAVAAndroid活动内部类中的lang.NoClassDefFoundError   java HttpServletRequest获取请求头参数块   C++socket与java客户端的连接   java如何在Apache commons http客户端上使用SSL客户端证书   使用预编译正则表达式模式提高java速度   JavaRhino将两个已编译脚本合并为一个脚本