华为联机对战服务断线重连解决方案

游戏过程中,经常会发生网络波动等异常情况,导致玩家掉线,此时如果网络恢复仍希望玩家加入到原游戏中,可以通过下面的方式进行重连。允许重连时间可以在AppGallery Connec控制台进行设置。

网络异常导致掉线场景

网络异常导致玩家客户端与联机对战服务端连接不上,在一定周期后服务器会将该玩家设置会掉线状态,如果游戏允许玩家在短时间内网络恢复后重新接入网络则需要使用掉线重连接口实现该场景。
具体是玩家进入房间后,游戏通过room.onDisconnect(playerInfo)方法监听玩家掉线事件,该方法会返回玩家信息。判断如果是玩家自己掉线,则需要触发room.reconnect()方法重连,重连过程如果网络始终未恢复则一直尝试重连,如果网络恢复则根据结果处理,可能超过允许重连时间则跳转到其他游戏页面。

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(() => {// 初始化失败});

华为联机对战服务玩家掉线重连案例总结相关推荐

  1. 【华为联机对战服务】如何保存及查看联机对战SDK日志?

    华为联机对战SDK日志如何保存? 华为联机对战SDK分为JS SDK和C# SDK,这里介绍的是C# SDK的日志如何保存.如果想要在运行设备上保存联机对战SDK的日志,需要在调用联机对战SDK初始化 ...

  2. 【联机对战】一张图看懂联机对战服务

    尊敬的开发者,您好 Petal Gaming Services(花瓣游戏开发者服务)致力于为开发者提供立项.研发.测试.分发.运营全生命周期的游戏服务,提升游戏研运效率,协助开发者打造更好的游戏产品. ...

  3. 全套源码丨超实用的双人联机对战游戏开发分享,拒绝踩坑!

    在手游市场高度同质化的趋势下,随着各家手机厂商纷纷布局智慧大屏.平板.PC 等不同形态的设备,强调系统与生态侧的场景协同就成为了发展刚需,多终端协同游戏针对游戏体验本身,带来玩法上的更多可能性. Co ...

  4. lol服务器维护掉线扣分,LOL:掉线重连依然扣分?玩家吐槽掉线机制,我有一个小建议...

    原标题:LOL:掉线重连依然扣分?玩家吐槽掉线机制,我有一个小建议 [论古今中外,群豪并起,峡谷之巅,群雄逐鹿.谈各路英雄,纵横披靡,所向无敌,山林之外,虎啸龙吟,为夺一方霸主.此危难之际,峡谷腾空, ...

  5. lol掉线后重连服务器维护,LOL:玩家掉线后重连赢了照样扣分,网友吐槽:那我还不如不连!...

    [关注残影游戏,看LOL最新资讯,今天咱们聊聊LOL的处罚机制] LOL虽说已经推出八年了,但是并不是所有玩家都能轻松游玩这款游戏,即使有了八年的时间优化,依旧是无法做到所有电脑都能轻松运行.当然了, ...

  6. 游戏联网必备: 国内外实时对战服务详细对比

    随着休闲竞技类游戏和io类游戏的成功,不管是游戏大厂还是中小开发者都纷纷入局开发带有竞技元素的各类游戏,但后者碍于技术实力的限制在实时对战方面无法突破瓶颈,这种情况下他们一般都会借助一些可以帮助实现游 ...

  7. 五子棋联机对战(JAVA实现)含源码

    本次面向对象编程课程设计,是制作一款五子棋联机对战游戏.在上学期做过一款五子棋单机版,其耦合度低,便将其拿来直接制作联机版本. 主要应用的技术:C/S架构 JAVA swing,JAVA socket ...

  8. 5V5联机对战游戏源码

    一.专业技术的竞争力比较 1. 大学毕业设计:购物系统.博客系统.论坛系统.聊天室等数据管理系统 2. 期末实训:贪吃蛇,俄罗斯方块,飞机大战 3. 普通期刊论文: 坦克大战 4. 培训机构项目:基本 ...

  9. 泡泡堂联机对战-Java网络编程

    Java大作业要求实现游戏能够双人联机对战,在初学了网络编程后, 采用传送键值的方法,实现了游戏画面的基本同步. 那总的来说就是要写一个客户端,一个服务器端,因为要实现双人对战,所以服务器负责协调两个 ...

最新文章

  1. CSS3 filter:drop-shadow滤镜与box-shadow区别
  2. 读入excel中的数据到数据库中
  3. hdu4825 字典树 + 贪心
  4. js如何判断当前页面是否处于激活状态
  5. elasticsearch 数据类型_基于 MySQL Binlog 的 Elasticsearch 数据同步实践
  6. CurrentHashMap源码剖析
  7. 编辑器FreeTextBox升级至3.0
  8. 学习OpenStack之 (4): Linux 磁盘、分区、挂载、逻辑卷管理 (Logical Volume Manager)
  9. python乐观锁代码实现_Django的乐观锁与悲观锁实现
  10. 感知机(Perceptron)为什么不能表示异或(XOR)
  11. java List的简单运用
  12. 摩托罗拉gp3688说明书_摩托罗拉GP3688对讲机充电器电路原理分析
  13. 计算机网线接口松动怎么办,家里宽带“罢工”怎么办?中国移动教你五步排障法...
  14. 三角函数π/2转化_分析最简单的正弦和余弦三角函数的图像
  15. 人艰不拆——记在工作一个半月之后
  16. 找回密码功能 java_Java实现邮件找回密码功能
  17. java数据结构和算法——图的深度优先(DFS)遍历
  18. cadence 怎么拼版_一种基于Cadenceskill的快速板卡拼版方法与流程
  19. Date类的getDay()和getDate()方法
  20. 做BI财务数据分析,国产BI软件经验更足

热门文章

  1. 深度洞察 | 为什么今年春天露营火了
  2. php企业模版,天兴大红企业模板php版
  3. oracle hwm 查询,Oracle HWM( High Water Mark)
  4. 设计求m值以内的勾股数组(按x从小到大输出,每行输出3组)-C语言
  5. border-bottom 自定义长度
  6. 任务栏的应用图标变成透明 只有一个按钮
  7. 无法通过ip访问计算机,局域网共享无法看到计算机和工作组,通过ip能访问解决方案...
  8. win7计算机之间传输文件,win7电脑与电脑之间怎么传大文件_win7电脑断网时怎么相互传大文件...
  9. JavaScript小兔鲜儿项目注册页面
  10. SAP_SD常用BAPI