1、背景
移动网络的信号频繁波动,给移动游戏开发者带来很多烦恼,处理不好会造成用户体验差、道具重复使用等严重问题。 因此,弱网络问题可以作为TDR技术审查中客户端的重点挑战项目,并在弱网络专业测试达到标准后上线。 本文提供了有关过去项目中遇到的问题的比较常见的解决方案。
2、网络连接方式
游戏客户端通常创建套接字并连接到服务器,但根据使用场景的不同,可以分为TCP连接和HTTP连接两种连接方式。
1 ) TCP连接是指常用的长连接。 当通过这种连接方式建立套接字连接时,通信双方可以相互发送数据直到一方结束连接。 目前公司移动网络游戏多采用这种数据通信方式。
2 ) HTTP连接是指常用的短连接。 该连接采用“请求-响应”通信方式,每次交互时客户端都会启动请求,服务器收到请求后再返回数据,数据传输完成时套接字连接会断开。 通常,此连接方法用于下载CDN资源或云配置。
3、网络检查
3.1检测设备的网络环境
iOS和Android提供了发现本地网络环境的方法,并具有必要的功能。
1 )网络环境标识,区分当前网络环境) WIFI/WWLAN/NOTREACHABLE等。
2 )感知到网络切换,并且当网络环境切换时接收系统消息。
苹果开发者网站(developer.apple.com)上有一个reachability的例子,通过封装底层网络组件可以实现以上功能。 Android提供了连接管理器服务,可以将其封装以实现相同的功能。 它包含与附录相关的开放源代码,并单独封装了reachability在iOS和Android平台上的实施。