網絡異常導緻掉線場景
room.onDisconnect((playerInfo) => {
// 目前玩家斷線
if(playerInfo.playerId === room.playerId){
// 重連邏輯
reConnect();
}else{
//其他玩家掉線處理
}
}
reConnect() {
// 調用重連方法進行重連
room.reconnect().then(() => {
//重連成功
}).catch((e) => {
if (!e.code) {
// 網絡不通繼續重試
this.reConnect();
return;
}
if (e.code != 0) {
// 超過允許重連時間退出到其他頁面
}
});
}
關閉用戶端導緻掉線
client.init().then(() => {
// 初始化成功
if(client.lastRoomId){
// 目前玩家仍在上一房間内,可根據lastRoomId重新加入房間
// 如果不想加入上一個房間内,必須通過client.leaveRoom離開房間,否則建立房間或比對房間時會報錯:玩家已在房間内
}
}).catch(() => {
// 初始化失敗
});