一、长轮询

在扫码登录的页面,服务器是如何知道用户有没有在手机上扫码登录?

通过长轮询的方式,每隔几秒向服务器发送一个请求,服务器判断这个请求中有没有用户扫码。

tornado websocket

缺点

1.开销大

2.浪费资源

3.消耗流量

 

二、websocket概念

长轮询消耗太多资源,其中主要原因是客户端和服务端并没有一直连接在一起。

websocket起到的作用,就是让客户端和服务器一直连接在一起。

(一).websocket官话描述

WebSocket协议是基于TCP的一种新的HTML5网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。WebSocket通信协议于2011年被IETF定为标准RFC 6455,并被RFC7936所补充规范。

(二).简单理解

客户端和服务器一直连接在一起

 

三、websocket服务端编程

(一).导包

import tornado.websocket

(二).编写一个基类

class BaseWebSocketHandler(tornado.websocket.WebSocketHandler, SessionMixin):
    def get_current_user(self):
        current_user = self.session.get('user')
            if current_user:
                return current_user
            return None
View Code

相关文章: