This commit is contained in:
2023-10-22 16:30:14 +08:00
parent caadd67b68
commit 9dae52a858
1 changed files with 23 additions and 0 deletions

View File

@ -166,6 +166,29 @@ const chat = new Chat({
} }
}) })
// 与每个客户端保持心跳
clientList.setChannel('ping', {
onopen: async (event, client) => {
console.log('打开信道', event.target.label)
clientList.sendto(client.id, 'ping', JSON.stringify({ type: 'ping' }))
},
onmessage: async (event, client) => {
const data = JSON.parse(event.data)
if (data.type === 'ping') {
console.log(client.name, '心跳:', data)
clientList.sendto(client.id, 'ping', JSON.stringify({ type: 'pong' }))
return
}
if (data.type === 'pong') {
console.log(client.name, '心跳:', data)
await new Promise((resolve) => setTimeout(resolve, 1000))
clientList.sendto(client.id, 'ping', JSON.stringify({ type: 'ping' }))
return
}
console.log('未知类型:', data.type)
}
})
// 与每个客户端都建立聊天信道 // 与每个客户端都建立聊天信道
clientList.setChannel('chat', { clientList.setChannel('chat', {
onopen: async (event, client) => { onopen: async (event, client) => {