views.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:wednesday 作者: wcauchois 项目源码 文件源码
def get(self):
    self.logger = self.request.app.logger
    self.websocket = web.WebSocketResponse()
    self.client = BasicClient(self.websocket,
                              ip_address=get_ip_address_from_request(self.request))
    await self.websocket.prepare(self.request)
    self.logger.info('WebSocket client connected from {}'.format(self.client.ip_address))
    async for msg in self.websocket:
      if msg.type == WSMsgType.TEXT:
        self.logger.info('Got WebSocket data: {}'.format(log_short(msg.data)))
        payload = json.loads(msg.data)
        if payload['type'] == 'rpc':
          response = await self.handle_rpc_call(payload)
          self.logger.info('Sending WebSocket data: {}'.format(log_short(response)))
      elif msg.type == WSMsgType.ERROR:
        self.logger.error('WebSocket error: {}'.format(self.websocket.exception()))
    else:
      self.logger.info('WebSocket connection closed')
      if self.client.authenticated:
        await self.request.app['ps'].unsubscribe_all(self.client)
        del self.request.app['clients'][self.client.id]
    return self.websocket
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号