mease:twisted/autobahn websocket服务器,具有简单的回调注册表
mease的Python项目详细描述
使用Twisted/Autobahn和易于使用的回调注册表机制的WebSocket服务器
有关工作示例,请参见django-mease、django-mease-example或flask-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服务器!