快速业务通道

手机网游制造之网络通信篇 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20

手机网游制造之网络通信篇

时间:2011-01-24 csdn博客 陈跃峰

开发程序:疯狂的炸弹 

开发进度:第二期

本期要点:设计客户端网络功能

开发平台:java平台

上期我们讲了客户端游戏功能,设计的程序只是一个单机游戏,为什么会这样呢?因为没有网络功能,无法进行通信。本期,我们就介绍客户端网络功能的设计。

客户端网络功能设计思路

客户端网络功能就是将客户端的操作转换为数据发送给服务器端,并将服务器端反馈的数据以界面的形式呈现给用户。如果把所有的逻辑处理都放在服务器端,当然是最安全的形式,但是这样服务器端的压力会比较大,所以一般会将一些简单的程序逻辑,例如本示例中移动时的边界检测,放在客户端进行判断。

设计客户端网络功能,要用到的指令有:准备(READY)、开始(START)、移动(MOVE)、取得游戏数据(GETDATA)和释放炸弹(LAYBOMB)等几种。在第一次连接时发送准备指令,从服务器端获得一个唯一的用户编号(userID),然后再发送开始指令给服务器,查看是否有其他用户准备对战。

如果没有则循环发送开始指令,如果有用户,则在服务器端分配房间号,然后服务器端新开设一个房间,并将游戏初始化数据反馈给客户端,客户端进入游戏界面。在游戏界面中,每隔1秒中向服务器端请求一次游戏数据,该请求中包含房间编号和用户编号,当用户移动时发送移动指令给服务器,当释放炸弹时发送释放炸弹指令给服务器(图1)。

网络协议设计

网络协议(Protocol)是网络程序的核心,也是一个网络程序最核心的机密。网络协议就是指网络传输时的数据格式,由两套格式组成:客户端发送的数据格式和服务器端发送的数据格式。其中客户端发送的数据格式和服务器端接收的数据格式相同,客户端接收的数据格式和服务器端发送的数据格式相同。

在本程序中,客户端需要发送的指令数量比较少,格式也不复杂,所以采用常见的“指令名称+参数”的格式设计,即传输的数据中开始部分通过一个数据来代表指令的类型,而将该指令需要的参数以一定的格式跟随在该指令的后面,形成一条完整的协议数据。跟详细的介绍,请到http://www.shudoo.com/bzsoft下载。

监听器模式分析

为了将客户端界面和客户端网络编程有效的结合起来,并复用网络编程部分的代码,一种比较好的方法就是使用“监听器模式”。监听器模式是指在一个类执行功能到达某个步骤时,将处理该步骤的功能代码委托给另外一个对象进行处理。

例如汽车上的警报器就采用了监听器模式,汽车被移动时警报器对象就通过发出声音进行处理。在网络功能中,也采用监听器模式,网络通讯线程将服务器端数据的反馈委托给界面类中的方法进行处理,从而便于界面的控制,避免数据的大量传输。

在本示例中,声明了一个HttpListener接口,实现该接口的类都具备处理网络通讯反馈数据的能力,当网络通讯中数据反馈以后,调用该接口中的doResponse方法进行处理。而每个需要进行网络通讯的类都实现HttpListener接口,则每个界面类都具备了处理服务器端反馈数据的能力,然后在实现了的doResponse方法内部进行反馈数据的处理。

客户端网络功能设计步骤

第一步:创建项目

启动Eclipse环境,选择“File→New→J2ME MIDlet Suit”,设置项目名称为“Bomber”,并一路选择“Next”, 完成项目的建立。然后新建一个J2ME入口类,选择“File→New→J2ME MIDlet”,设置名称为“BomberMIDlet”,点击“Finish”。最后,按照上期介绍的步骤编写界面的代码和按键处理的代码(代码下载地址:http://www.shudoo.com/bzsoft)

手机网游制造之网络通信篇(2)

时间:2011-01-24 csdn博客 陈跃峰

第二步

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号