关注分享查重修改经验、提供降重修改指导,加急降重请关注
摘要:本文以wifi技术为出发点, 提出了一种工作在android平台下的, 基于移动热点技术的局域网互动联机游戏平台的设计思路.具体设计实现了互动联机游戏平台, 并对该平台系统做了实时性, 稳定性, 容错性和开放性设计.最后通过一个仿真实例, 表明该方案是可行并且有效的.
关键词:android; wifi; 移动热点; socket;
0 引言
随着移动通信技术的发展, 移动通讯终端及移动应用已全然进入我们的生活当中[1].我们也对移动各式各样的应用提出了更高的要求.对于传统的移动游戏应用, 要么是只能单机运行, 要么是得通过移动互联网来进行联机, 可联机互动的手机游戏的吸引力是远远大于单机的[2].但是由于种种因素的限制, 比如区域性的无线信号覆盖不到或者信号不稳定, 很多时候人们并不能容易的通过互联网进行联机[3].
当前主流的无线通信方式主要有wifi、zigbee、蓝牙等.wifi无线通信协议因其较高的保密及传输性能得到业界的广泛认可[4].无线wifi热点技术, 可以在热点创建的一定区域内保证无线通信的稳定性[5].本文就是基于wifi协议的特性, 利用移动热点技术, 实现基于wifi的可互动联机的游戏平台的原型, 并通过实现一个赛跑游戏来验证该平台的可行性.
1 移动热点技术
移动wifi热点技术, 负责在不同的终端设备之间建立一个可以相互通信的无线信道[6].用户利用手中的包含wifi硬件模块的移动设备, 建立以自身为无线信号的接收端, 并且提供给周围的移动设备接入接口, 将自身的蜂窝网络连接分享出去.android操作系统自2.2版本之后就开始原生支持wifi热点技术, 终端用户可以为网络创建角色, 也可以作为使用角色.通过wifi移动热点这种特性, 来搭建基于wifi的局域网.
2 平台引擎设计
本平台作为一个抽象平台设计, 平台引擎主要由移动wifi模块, 服务端模块及客户端模块来保证如下特性.
(1) 实时性:不同终端之间的数据通信都能够近似零延迟广播给其他终端.
(2) 传输数据的准确性:每一个终端的数据报文都能正确解析.
(3) 稳定性及容错性, 该平台具有对当前场景记忆功能, 在掉线等网络异常情况下能够立即展开重新连接工作, 并在重新连接后能及时恢复.
(4) 高可复用性:抽象出一个高可复用的接口, 其他开发者只要遵循接口约定, 便能相对容易地开发其他互动联机游戏.
2.1 移动wifi模块设计
wifi模块是该平台的基础设施, 该模块包装了android提供的api, 对外提供一些方便易用的接口服务.
wifi的打开与关闭:通过操作android系统中sdk的wifimanager类的is wifienabled接口方法来实现wifi功能的开关.
wifi热点的创建与删除:通过wificonfiguration配置好热点信息, 由于热点开关在sdk中隐藏了, 所以需要利用java反射机制调用set wifiap enabled接口方法来控制热点.
加入及离开网络:通过操作android系统中sdk的wifimanager类的disable network接口方法来实现加入或离开网络.
获取范围附近的用户:通过操作android系统中sdk的wifimanager类的get scan results接口方法来获取周围搜索到的热点.
2.2 服务端模块设计
服务端作为中心模块, 提供接入wifi热点及查看接入客户端的接口.首先作为socket服务端, 用户接收每个客户端的消息信号, 并通过消息引擎模块解析消息;同时也作为socket客户端, 对接入的每一个客户创建实例, 通过观察者模式来向每一个接入的客户端广播消息;并且提供用户接口, 开发者可以自己设计特有状态机.
2.3 客户端模块设计
客户端模块与服务端建立基于tcp协议的socket通信, 用来保证通信数据的可靠性.客户端有两重角色, 首先, 它作为socket服务端, 来监听来自服务端的数据信号, 并自己解析报文信息;其次, 它作为socket客户端, 用来向位于wifi热点的服务端发去数据信号.该模块只作为数据管道, 向开发者提供了极大的扩展性, 开发者可传输任意的消息.
2.4 消息引擎模块设计
该模块向开发者提供接口, 可以自定义设计消息报文协议, 并传入自己解析数据信号的策略方法, 由服务端调用该引擎来获取准确信息.
3 实验仿真实现
3.1 仿真场景设计
游戏场景为a、b、c、d四个用户同时在一个百米赛道赛跑, 赛道包含八个跑道, 每个跑道不同的位置会有道具, 道具随机带有加速或者减速属性, 用户自动可以拾取当前所在跑道的道具, 道具不可叠加, 并限制每隔2秒可以切换一次跑道, 并且一次只能切换到相邻跑道.测试场景中, 用户c会断开连接, 并在2s左右后重连.
3.2 实验结果
在服务端输出赛跑游戏状态机信息, 写入日志文件, 结果如图1下所示.
从仿真结果可以看出, 该平台实现了终端在wifi热点连接下的联机互动游戏, 并对掉线事件做到了断开容错保护.
4 总结
本文讨论了时下热门的移动热点技术, 提出了不同终端建立互动联机游戏平台的设计思路.针对android系统, 利用其wifi模块的系统api, 包装实现了一个可供开发者使用的互动联机平台.该平台通过tcp传输协议来保证数据的稳定性, 并提供了可开发的模块, 来让开发者接入自己的消息信号解析策略, 具有极好的扩展性.对于开发者来说, 仅需要专注自身游戏的开发, 便能利用该接口实现联机互动.最后, 通过一个联机的赛跑游戏, 验证了该平台的可行性和有效性.
参考文献
[1]雷震洲.蜂窝移动通信技术演进历程回顾及未来发展趋势[j].移动通信, 2008, 32 (24) :24-28.[2]佚名.国内网游膨胀单机游戏走向没落[j].玩具世界, 2006 (7) :31-32.1[4]罗袁君, 伍诗雨, 刘俊, 等.基于wifi的专用无线局域网应用研究[j].微处理机, 2015 (6) :29-32.[5]盛蕾.wifi网络研究及基于linux的测试平台的实现[d].同济大学, 2007.[6]方晖.无线wifi最优热点组网通信技术的研究与仿真[j].计算机仿真, 2013, 30 (7) :269-271.
推送最新查重修改经验及技巧 提供查重检测及写作指导,免费提供资料 交流、学习、分享。请关注右边微信