最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【整理】Flask中的Websocket库:Flask-SocketIO vs Flask-Sockets

Flask crifan 8131浏览 0评论

折腾:

【已解决】flask中实现websocket

期间,

虽然已经感觉miguelgrinberg的Flask-SocketIO更好用。

但是也还是去比较比较:

GitHub – miguelgrinberg/Flask-SocketIO: Socket.IO integration for Flask applications.

GitHub – kennethreitz/flask-sockets: Elegant WebSockets for your Flask apps.

到底哪个好。

有何区别。

去参考:

使用Flask SocketIO实现WebSocket | 风中飞舞

python – Websockets in Flask – Stack Overflow

Socket.IO

python使用websocket的几种方式 | 惊鸟的技术小站

GitHub – zeekay/flask-uwsgi-websocket: High-performance WebSockets for your Flask apps powered by uWSGI.

python – Websockets in Flask – Stack Overflow

-》

普通的HTTP请求:

Client请求服务器,得到服务器的响应,关闭请求

Server端,可以用少数的worker去处理大量的并发的请求

但是对于websocket,是长期链接,不断开的,

导致无法直接简单的使用单个的worker去处理每个socket的连接

解决办法是:

使用gevent

其内部是基于greenlets的,

利用greenlets的轻量级的特点,可以很方便的去实现扩容,

以便于实现同时连接多个Client

【总结】

Flask的Websocket库
作者依赖的库
Kenneth Reitz
基于gevent和gevent-websocket做了封装
miguelgrinberg
Sever端:基于gevent和gevent-socketio
Client端:基于Socket.IO

总体上看,Flask-SocketIO的示例代码,更加简洁,而且作者还是在Flask-Sockets之后才之创作出Flask-SocketIO,所以理论上Flask-SocketIO更加先进。

【后记】

后来的折腾证明:

转载请注明:在路上 » 【整理】Flask中的Websocket库:Flask-SocketIO vs Flask-Sockets

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.203 seconds, using 22.26MB memory