在Google AppEngine上使用eventlet部署Flask Socket.io应用程序

2024-04-26 17:37:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在灵活的google appengine实例上使用配置了eventlet的flask socket.io。根据flask socket.io文档:https://flask-socketio.readthedocs.io/en/latest/如果安装了eventlet,运行socketio.run(app)https://flask-socketio.readthedocs.io/en/latest/将启动Web服务器

我有一个本地react web应用程序正在尝试与此应用程序引擎实例建立WebSocket连接。web应用程序使用socket.io,最初默认为轮询HTTP请求。这些请求都超时了--我无法建立web套接字连接。我不确定是什么导致了我的问题,无论是我的应用程序引擎配置还是flask socket.io设置

以下是我对flask socket.io的初始化代码:

app = Flask(__name__)
socketio = SocketIO(app)
socketio.init_app(app, cors_allowed_origins="*")
..
..
if __name__ == '__main__':
    socketio.run(app, debug=True)

这是我的app.yaml:

runtime: python

env: flex

entrypoint: python3 server.py

runtime_config: 
  python_version: 3

manual_scaling:
  instances: 1

network:
  session_affinity: true

以下是尝试设置连接的web应用程序代码:

import io from 'socket.io-client'
const socketURL = "<app-engine-instance-url>:5000"
const socket = io.connect(socketURL)

Tags: 实例runhttpsio引擎webapp应用程序