繁体   English   中英

在python中处理websockets

[英]Handling websockets in python

我正在开发使用websockets的消息传递服务。 我将使用python / django作为服务器端语言。 有以下选项:

  1. 龙卷风
  2. Django的的WebSockets,Redis的
  3. Crossbar.io
  4. 烧瓶SocketIO

我对活动连接数量很大的生产环境应该使用什么感到困惑。

龙卷风中的Websocket相对简单。 此示例显示了如何将Websocket与极其基本的管理( openon_close方法)集成在一起。

对于上游流量(浏览器->服务器),您可以实现WebSocketHandler方法:

def on_message(self, message):
    # call message callback

def data_received(self, chunk):
    # do something with chunked data

对于下游流量,有WebSocketHandler.write_message

def broadcast_to_all_websockets(self, message):
    for ws in cl:
        if not ws.ws_connection.stream.socket:
            print "Web socket %s does not exist anymore!" % ws
            cl.remove(ws)
        else:
            ws.write_message(message)

强烈建议使用autobahn | Python 目前,它现在已在Python中用于WebSocket项目,并且使用起来非常简单,并且已经为您构建了许多类,例如WebSocketServer。 让我们也选择实现(在asyncio和Twisted之间选择。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM