cocos2d-x 移动端网络优化

21 篇文章 0 订阅
9 篇文章 0 订阅

这几周一直在优化cocos移动端在弱网络环境下的问题

因为历史原因,使用的是TCP连接和传统的序列化反序列化解析


因为基于TCP,所以网络环境的变化,会导致Socket层无任何异常,无法得知断开了,IOS因为待机也会断网,所以更甚

简单说一下处理的几个步骤吧

1、增加了服务器的心跳和心跳返回,这是最基本的,通过心跳的超时来判断是否断开了

2、增加java层和Oc的监听网络切换或者网络发生变化,java使用JNI,Oc是混编,获取到切换或者网络断开了,立刻主动断开Socket并且走断线重连

3、每次网络发生变化,本地ping服务器js脚本,选择分布式中最快的那个ip在缓存中,连接时候选择最快的那个服务器连接,也就是简单的负载均衡

4、游戏内针对所有的异常情况,超时情况,协议收到的解析出错或者丢包现象做了判断,也是走断线重连机制

5、优化断线重连机制,速度一定要快,立刻反映立刻连接,和服务器的连接要快哟

6、根据包头的while循环判断是否是持续空包,判断断线


其实游戏闪退都没有断开连接卡死要好,弱网络断开了就没反映了是很傻的....所以一定要优化好!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值