跳转到主要内容

Mease:Twisted/Autobahn websocket服务器,具有易于使用的回调注册机制

项目描述

https://badge.fury.io/py/mease.png https://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文档以配置您的服务器。

RabbitMQ

要使用RabbitMQ后端,请安装以下依赖项

sudo apt-get install rabbitmq-server
pip install kombu

请参阅RabbitMQ文档以配置您的服务器。

快速入门

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

from mease import Mease
from mease.backends.redis import RedisBackend
# OR from mease.backends.rabbitmq import RabbitMQBackend

from uuid import uuid4

mease = Mease(RedisBackend)

@mease.opener
def example_opener(client, clients_list):
    # Do stuff on client connection
    client.storage['uuid'] = str(uuid4())

@mease.closer
def example_closer(client, clients_list):
    # Do stuff on client disconnection
    print("Client {uuid} disconnected".format(uuid=client.storage.get('uuid')))

@mease.receiver(json=True)
def example_receiver(client, clients_list, message):
    # Do stuff on incoming client message
    pass

@mease.sender(routing='mease.demo')
def example_sender(routing, clients_list, my_tuple):
    # Do stuff on outgoing message
    pass

if __name__ == '__main__':
    # Start websocket server
    mease.run_websocket_server()

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

在您的代码中,您现在可以调用mease publish 方法向websocket客户端发送消息

from mease import Mease
from mease.backends.redis import RedisBackend

mease = Mease(RedisBackend)

# ...

mease.publish('mease.demo', my_tuple=("Hello", "World"))

就这样!现在您可以通过一种酷炫的方式从您的web服务器向您的websocket服务器发送消息!

项目详情


下载文件

下载适用于您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

mease-0.2.0.tar.gz (8.8 kB 查看哈希值)

上传时间 源代码

由以下支持