flask不同端口启动websocket
时间: 2023-10-01 22:07:52 浏览: 175
flask-uwsgi-websocket:u适用于由uWSGI支持的Flask应用程序的高性能WebSocket
要在 Flask 中启动 WebSocket,可以使用 Flask-SocketIO 扩展。使用 Flask-SocketIO,您可以轻松地在 Flask 应用程序中设置 WebSocket 服务器。
要在 Flask 中使用 Flask-SocketIO,您需要执行以下步骤:
1. 安装 Flask-SocketIO 扩展:在终端中使用 `pip install flask-socketio` 命令进行安装。
2. 导入 Flask-SocketIO 模块:在 Flask 应用程序中导入 Flask-SocketIO 模块,例如:
```
from flask_socketio import SocketIO
```
3. 初始化 Flask-SocketIO:在 Flask 应用程序中初始化 Flask-SocketIO,例如:
```
app = Flask(__name__)
socketio = SocketIO(app)
```
4. 创建 WebSocket 事件处理程序:在 Flask 应用程序中创建 WebSocket 事件处理程序。例如:
```
@socketio.on('connect')
def handle_connect():
print('Client connected')
@socketio.on('disconnect')
def handle_disconnect():
print('Client disconnected')
```
5. 启动 Flask-SocketIO 服务器:在 Flask 应用程序中启动 Flask-SocketIO 服务器,例如:
```
if __name__ == '__main__':
socketio.run(app, port=5000)
```
在上面的示例中,WebSocket 服务器将在 Flask 应用程序的端口 5000 上启动。如果您需要在不同的端口上启动多个 WebSocket 服务器,则可以在不同的端口上启动不同的 Flask 应用程序,并在每个应用程序中使用不同的端口号。
例如,您可以在一个 Flask 应用程序上启动 WebSocket 服务器,并将其绑定到端口 5000:
```
app1 = Flask(__name__)
socketio1 = SocketIO(app1)
@socketio1.on('connect')
def handle_connect1():
print('Client connected to app1')
if __name__ == '__main__':
socketio1.run(app1, port=5000)
```
然后,您可以在另一个 Flask 应用程序上启动另一个 WebSocket 服务器,并将其绑定到另一个端口,例如端口 5001:
```
app2 = Flask(__name__)
socketio2 = SocketIO(app2)
@socketio2.on('connect')
def handle_connect2():
print('Client connected to app2')
if __name__ == '__main__':
socketio2.run(app2, port=5001)
```
这样,您就可以在不同的端口上启动不同的 WebSocket 服务器,并在不同的应用程序中处理不同的 WebSocket 事件。
阅读全文