flask总结之websocket源码剖析

Posted learningonline

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask总结之websocket源码剖析相关的知识,希望对你有一定的参考价值。

1.关于session的说明

  flask是带有session的,它加密后存储在用户浏览器的cookie中,可以通过app.seesion_interface源码查看

2.关于websocket

  它是一个协议,常与http对比,两者都是应用层协议。websocket主要解决了服务端向客户端推送消息(全双工)

  http协议规定:一次请求一次响应,属于无状态短链接。http协议只能被动接受客户端给服务端发送的消息

  之前该介绍链接:猛戳此处

  websocket协议规定:

    --握手:base64(sha1(key+magic key))  

    --收发数据(加密)

       -127

       -126

       <=125

      (经过以上三种字节大小判断对数据进行解密)

    --持久连接

  在三大框架中的使用:

     flask中使用了werkzurg,它支持websocket(在新版本中),但是效果不是太好,我们可以使用geventwebsocket模块实现,它既支持http也支持websocket

    django中默认socket使用的是wsgiref写的,它也不支持websocket,只支持http协议,但是我们可以使用channel组件实现

    tornado中默认使用的是自己的socket,它既支持http协议也支持websocket协议

相关博客链接

 

  

以上是关于flask总结之websocket源码剖析的主要内容,如果未能解决你的问题,请参考以下文章

01 flask源码剖析之werkzurg 了解wsgi

Flask源码流程剖析

Flask 源码剖析请求入口

Flask 源码剖析 :Flask 启动流程

06 drf源码剖析之权限

Python微框架Flask源码剖析