django-mease:为Django简化WebSocket集成
项目描述
工作中。
使用Tornado,Redis PUB/SUB和易于使用的回调注册机制简化Django的WebSocket集成。
查看完整的工作示例 这里
RTD即将到来
安装
依赖关系(Debian & Ubuntu)
Mease 默认带有Redis PUB/SUB后端。如果您想使用它,请安装以下依赖项
sudo apt-get install redis-server python-dev pip install redis
安装django-mease
pip install django-mease
将mease添加到您的INSTALLED_APPS
INSTALLED_APPS = (
# List of your installed apps
'djmease',
)
使用
启动websocket服务器
python manage.py run_websocket_server
注册回调
创建 mease_registry.py 文件以注册您的回调(文件必须位于已安装的应用程序中)
from djmease import mease
@mease.opener
def open_websocket(client, clients_list):
client.storage["name"] = "mymane"
for c in clients_list:
c.send("Someone joined")
@mease.closer
def close_websocket(client, clients_list):
for c in clients_list:
c.send("{name} left".format(name=client.storage["name"]))
@mease.receiver
def receive_websocket_message(client, clients_list, message):
for c in clients_list:
c.send(message)
@mease.sender(routing=['websocket'])
def send_websocket_message(channel, clients_list, myobj):
for c in clients_list:
c.send(myobj.myattr)
发布
在代码的任何地方使用 mease.publish 进行发布
from djmease import mease
mease.publish('websocket', "Hello world !")
这将调用在‘websocket’路由上注册的所有发送函数。