1. 程式人生 > >Flask-SocketIO簡介

Flask-SocketIO簡介

Flask-SocketIO使Flask應用程式能夠在客戶端clients 和伺服器server之間實現低延遲的全雙工通訊。 客戶端應用程式可以使用JavaScript,C ++,Java和Swift中的任何SocketIO官方客戶端庫或任何相容的客戶端來建立到伺服器的永久連線。

安裝

使用pip安裝:

pip install flask-socketio

要求

Flask-SocketIO與Python 2.7和Python 3.3+相容。 此包依賴的非同步服務可以從以下三個選擇中進行選擇:

  1. eventlet,使用eventlet可以獲得最好的效能,它支援長輪詢(long-polling)和WebSocket傳輸。
  2. gevent,gevent支援多種不同的配置。 gevent包完全支援長輪詢(long-polling)傳輸,但與eventlet不同的是,gevent不支援本機WebSocket。 要新增對WebSocket的支援,目前有兩種方法,第一種方法是使用gevent-websocket包,gevent-websocket包將WebSocket支援新增到gevent,但不幸的是,該包目前僅適用於Python 2。另一種方法是使用隨WebSocket功能附帶的uWSGI Web伺服器。 使用gevent也是一個性能選擇,但略低於eventlet。
  3. 使用Flask的開發伺服器,Flask的開發伺服器是基於Werkzeug的,需要注意的是使用這種方法,在效能上不及上面兩種方法,因此只能用於簡化開發工作流程,生產環境中最好不要使用。 此選項僅支援長輪詢傳輸。