mease:twisted/autobahn websocket服务器,具有简单的回调注册表

mease的Python项目详细描述


https://badge.fury.io/py/mease.pnghttps://travis-ci.org/florianpaquet/mease.png?branch=master

使用Twisted/Autobahn和易于使用的回调注册表机制的WebSocket服务器

有关工作示例,请参见django-measedjango-mease-exampleflask-mease-example

安装

使用pip安装最新的mease版本:

pip install mease

mease有两个后端:

redis

要使用redis后端,请安装这些依赖项:

sudo apt-get install redis-server
pip install redis

请参阅Redis documentation来配置服务器。

拉比特mq

要使用rabbitmq后端,请安装这些依赖项:

sudo apt-get install rabbitmq-server
pip install kombu

请参阅RabbitMQ documentation来配置服务器。

快速启动

创建一个文件,您可以在其中编写回调并注册它们:

frommeaseimportMeasefrommease.backends.redisimportRedisBackend# OR from mease.backends.rabbitmq import RabbitMQBackendfromuuidimportuuid4mease=Mease(RedisBackend)@mease.openerdefexample_opener(client,clients_list):# Do stuff on client connectionclient.storage['uuid']=str(uuid4())@mease.closerdefexample_closer(client,clients_list):# Do stuff on client disconnectionprint("Client {uuid} disconnected".format(uuid=client.storage.get('uuid')))@mease.receiver(json=True)defexample_receiver(client,clients_list,message):# Do stuff on incoming client messagepass@mease.sender(routing='mease.demo')defexample_sender(routing,clients_list,my_tuple):# Do stuff on outgoing messagepassif__name__=='__main__':# Start websocket servermease.run_websocket_server()

记住从注册回调的mease实例运行websocket服务器。

在代码中,现在可以调用measepublish方法向websocket客户端发送消息:

frommeaseimportMeasefrommease.backends.redisimportRedisBackendmease=Mease(RedisBackend)# ...mease.publish('mease.demo',my_tuple=("Hello","World"))

就这样!您现在可以用一种很酷的方式将消息从Web服务器发送到WebSocket服务器!

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

推荐PyPI第三方库


热门话题
java Spring框架服务单元测试   在Java中遍历hashmaps的hashmap以检索字符串值   如何使用CodeQL检查Java注释是否具有特定属性?   java为什么在Spring Boot中访问此资源而不是登录弹出窗口需要始终获得完全身份验证   处理将多集计数转换为列表的过程   java另一个线性布局,没有出现按钮   eclipse Java映像加载未显示在jar中   java Junit类无法加载基本测试类ApplicationContext   java如何在main中使用my getvalues()方法打印列表   java Sonar,S128:切换案例应该以无条件的“中断”语句结束,而不是继续   java从socket读取字符串错误连接重置错误   java使用新数据刷新任意图表饼图   java通过异步运行lambda访问方法参数   java错误的结果一旦我处理try and catch