怎么使用websocket 写一个前端和后端的 考试倒计时
时间: 2024-05-12 11:16:30 浏览: 7
在前端,你可以使用JavaScript编写一个WebSocket客户端,连接到后端的WebSocket服务器。在连接已经建立之后,你可以发送一条消息给服务器,告诉它开始考试倒计时。
在后端,你需要使用WebSocket服务器框架,例如Node.js的Socket.io,来接收来自前端的连接请求。在连接已经建立之后,你需要监听来自前端的消息,并且开始计时。然后,你可以将每一秒的倒计时时间发送给前端,让它更新UI。
以下是一个简单的示例代码:
前端:
```javascript
const socket = new WebSocket('ws://localhost:3000');
socket.addEventListener('open', (event) => {
socket.send('start-exam');
});
socket.addEventListener('message', (event) => {
const timeLeft = JSON.parse(event.data).timeLeft;
// Update UI with timeLeft
});
```
后端:
```javascript
const io = require('socket.io')(3000);
io.on('connection', (socket) => {
socket.on('message', (message) => {
if (message === 'start-exam') {
let timeLeft = 60; // in seconds
const interval = setInterval(() => {
timeLeft--;
if (timeLeft <= 0) {
clearInterval(interval);
}
socket.send(JSON.stringify({ timeLeft }));
}, 1000);
}
});
});
```