首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络协议 >

手机网络象棋开发(二):网络通信、逻辑处理模块

2012-10-28 
手机网络象棋开发(2):网络通信、逻辑处理模块上次简单介绍了Server的写法,这个类比较简单,主要的功能包括:1

手机网络象棋开发(2):网络通信、逻辑处理模块
上次简单介绍了Server的写法,这个类比较简单,主要的功能包括:
1. 初始化,包括玩家列表、游戏桌子列表
2. 接收手机客户端连接
3. 启动网络连接处理


今天主要介绍:网络通讯类和业务处理类

Network类:
主要负责:
1. 接收手机客户端的连接
   按照协议读取数据后,添加到消息队列
   此处需要处理同步问题
2. 取出消息队列,调用业务逻辑类进行处理
   主要是根据消息的cmdType
3. 发送消息
   依次读取发送消息队列的消息,
   按照协议,依次将cmdType, playerId, msg.length, msg 发送到客户端

具体代码如下:



逻辑处理类LogicHandler.java

该类的主要功能
   1. 去除消息队列的消息对象
   2. 分析消息的cmdType
   3. 然后分发给相应的消息处理方法进行处理
      基本流程包括:
      玩家注册:就是将玩家对象放入playerMap的哈希表待用
      玩家坐下:根据发送过来的消息,更新桌子列表情况,然后返回消息
      玩家请求开始:设置玩家的状态为开始,检查该游戏桌子的状态是否满足条件
                    满足的话,就开始游戏,并且调用相关的裁判类进行逻辑判断处理
      玩家的棋子移动:根据具体的棋子坐标,更新裁判类的棋牌位置
      其他还包括玩家退出、离开游戏等,目前还未完成。

详细查看代码:


注:很多代码参考了java项目全程实录

热点排行