webrtc断开时重连

This commit is contained in:
2023-10-03 01:27:00 +08:00
parent c461a69cd9
commit c7c3ff2b24
1 changed files with 12 additions and 2 deletions

View File

@ -62,8 +62,18 @@ export default class ClientList {
} }
} }
} }
webrtc.oniceconnectionstatechange = event => { webrtc.oniceconnectionstatechange = async event => {
console.log('WebRTC ICE 连接状态更改:', webrtc.iceConnectionState) console.log('WebRTC ICE 连接状态更改:', webrtc.iceConnectionState, event)
if (webrtc.iceConnectionState === 'disconnected') {
console.log('WebRTC ICE connection disconnected')
// 如果用户没有离线, 则尝试重连
if (this.clientlist.find(x => x.id === data.id)) {
console.log('用户仍在线, 尝试重连...')
const offer = await webrtc.createOffer()
await webrtc.setLocalDescription(offer)
websocket.send(JSON.stringify({ type: 'offer', id: data.id, offer }))
}
}
} }
const channels = Object.entries(this.channels).map(([name, callback]) => { const channels = Object.entries(this.channels).map(([name, callback]) => {
const channel = webrtc.createDataChannel(name, { reliable: true }) const channel = webrtc.createDataChannel(name, { reliable: true })