websocket服务端长链接 python
时间: 2023-08-30 22:11:05 浏览: 92
在 Python 中,可以使用 Flask-SocketIO 库来实现 WebSocket 服务端长连接。下面是一个简单的示例:
```python
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('connect')
def test_connect():
emit('my response', {'data': 'Connected'})
@socketio.on('disconnect')
def test_disconnect():
print('Client disconnected')
if __name__ == '__main__':
socketio.run(app)
```
在这个示例中,`@app.route('/')` 装饰器定义了一个简单的页面,该页面会连接 WebSocket 服务器。`@socketio.on('connect')` 装饰器定义了一个事件处理程序,当客户端连接到 WebSocket 服务器时触发。同样,`@socketio.on('disconnect')` 装饰器定义了一个事件处理程序,当客户端断开与 WebSocket 服务器的连接时触发。
你可以通过 `emit()` 方法向客户端发送数据,例如在 `test_connect()` 函数中,我们向客户端发送了一条消息。
要运行这个示例,你需要安装 Flask-SocketIO 库。你可以使用以下命令进行安装:
```
pip install flask-socketio
```
然后,你可以运行这个示例:
```
python app.py
```
这将启动一个 WebSocket 服务器,然后你可以在浏览器中访问该服务器,从而创建一个 WebSocket 连接。
阅读全文