cocos2d-x 移动端网络优化
来源:互联网 发布:天下3英雄榜数据 编辑:程序博客网 时间:2024/06/06 17:09
这几周一直在优化cocos移动端在弱网络环境下的问题
因为历史原因,使用的是TCP连接和传统的序列化反序列化解析
因为基于TCP,所以网络环境的变化,会导致Socket层无任何异常,无法得知断开了,IOS因为待机也会断网,所以更甚
简单说一下处理的几个步骤吧
1、增加了服务器的心跳和心跳返回,这是最基本的,通过心跳的超时来判断是否断开了
2、增加java层和Oc的监听网络切换或者网络发生变化,java使用JNI,Oc是混编,获取到切换或者网络断开了,立刻主动断开Socket并且走断线重连
3、每次网络发生变化,本地ping服务器js脚本,选择分布式中最快的那个ip在缓存中,连接时候选择最快的那个服务器连接,也就是简单的负载均衡
4、游戏内针对所有的异常情况,超时情况,协议收到的解析出错或者丢包现象做了判断,也是走断线重连机制
5、优化断线重连机制,速度一定要快,立刻反映立刻连接,和服务器的连接要快哟
6、根据包头的while循环判断是否是持续空包,判断断线
其实游戏闪退都没有断开连接卡死要好,弱网络断开了就没反映了是很傻的....所以一定要优化好!
阅读全文
0 0
- cocos2d-x 移动端网络优化
- 移动端网络优化
- 移动端网络优化
- 移动端网络优化
- 移动端网络优化
- 移动端网络优化
- 移动端网络优化
- 移动端网络优化
- 移动端网络优化
- cocos2d-x文字移动
- cocos2d-x移动淡出
- Cocos2d-x 精灵移动
- 浅谈移动端网络优化
- Android 移动端网络优化
- 移动端的网络优化
- cocos2d-x 内存优化
- cocos2d-x内存优化
- cocos2d-x内存优化
- HDU 2602 Bone Collector(0 1背包)
- jsonObject.getString()解析任意字段均可强转为string 及与jsonObject.optString()的区别
- 可拖拽的窗口(div)
- JVM对象的创建流程
- selenium click无效问题
- cocos2d-x 移动端网络优化
- 文件权限
- unity编辑器扩展篇-将图片数字和英文转换成字体文件
- Android 使用SwitchCompat 遇到奇怪的崩溃问题
- 虚拟机上设置CentOS 7的问题记录
- Mac下使用Keras plot_model函数时出错的解决办法
- leetcode 662. Maximum Width of Binary Tree 深度优先遍历DFS
- neutron使用的数据库(sqlalchemy)操作文档
- 37两个链表的第一个公共节点