flask-socketio所需的eventlet版本是什么?

时间:2019-05-31 19:28:56

标签: python python-2.7 flask flask-socketio eventlet

我正在尝试让python 2.7中的eventletflask-socketio一起工作。这是我正在使用的基本代码:

import eventlet
from flask import Flask
from flask_socketio import SocketIO
import threading
import time

def server():
        app = Flask(__name__)
        app.config['SECRET_KEY'] = 'asdf'
        socketio = SocketIO(app, host = '0.0.0.0')
        socketio.run(app)

server_thread = threading.Thread(target = server)
server_thread.start()

while True:
    time.sleep(1)

当我在笔记本电脑上运行它时,这似乎可以工作(flask-socketio使用eventlet)。但是,当我在嵌入式设备上运行该程序时,会收到以下消息:

WebSocket传输不可用。安装eventlet或gevent和gevent-websocket以提高性能。

两个系统之间肯定有不同的软件包版本,我怀疑这是失败的原因。以下是嵌入式系统上的软件包:

click==6.7
eventlet==0.18.4
Flask==0.12.2
Flask-SocketIO==3.3.2
itsdangerous==0.24
Jinja2==2.9.6
MarkupSafe==1.0
pyserial==3.4
python-engineio==3.5.2
python-socketio==4.0.2
six==1.11.0
smbus==1.1
Werkzeug==0.12.2

有人知道为什么flask-socketio不能在这些版本中使用eventlet吗?

我也不知道它是否相关,但是host = '0.0.0.0'也被忽略了(在我的开发机和嵌入式机上)。它始终在127.0.0.1上运行。

有什么想法吗?

0 个答案:

没有答案