websockets 使用例子
时间: 2023-07-11 18:33:31 浏览: 78
下面是一个使用 Python 的 Flask 和 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)
```
在上面的代码中,我们创建了一个 Flask 应用程序,并使用 Flask-SocketIO 扩展来启用 WebSocket 功能。我们定义了两个事件处理程序:`test_connect` 用于处理客户端连接事件,`test_disconnect` 用于处理客户端断开连接事件。我们还定义了一个简单的路由处理程序,用于返回一个 HTML 模板。
在客户端,我们可以使用 JavaScript 代码来连接到 WebSocket 服务器,并发送和接收消息:
```javascript
var socket = io.connect('http://' + document.domain + ':' + location.port);
socket.on('connect', function() {
socket.emit('my event', {data: 'I\'m connected!'});
});
socket.on('my response', function(msg) {
console.log(msg.data);
});
```
在上面的代码中,我们使用 SocketIO 客户端库来连接到 WebSocket 服务器,并发送和接收消息。当客户端连接成功时,`connect` 事件将被触发,并发送一个 `my event` 消息。服务器将收到该消息,并发送一个 `my response` 消息作为响应。客户端将收到该响应,并将消息内容输出到浏览器的控制台中。
阅读全文