cocos creator麻将教程系列(三)—— 达达麻将开房间流程

达达麻将”开房”

目录

达达麻将”开房”

要点

(1)达达麻将版图回顾

(2)达达麻将游戏服务器注册到大厅,来配置负载

(3)创建房间客户端请求;

(4)创建房间服务器响应;

(5)客户端登陆到游戏服务器;


达达麻将版图

cocos creator麻将教程系列(三)—— 达达麻将开房间流程

 

 

寻找客户端发送逻辑

1: 找到创建按钮,并找到关联的函数 --> hall.js: onCreateRoomClicked;

2: 显示出创建房间的界面,找到这个界面的挂载脚本: createRoom.js

3: 创建列表,配置创建的参数, createRoom函数将命令通过http发送到大厅服务器;

4: 响应地址为:create_private_room, 数据为创建参数, 返回结果回掉: onCreate函数

 

 

寻找服务器响应

1: hallserver: 配置好的 “/create_private_room”;

2: 处理步骤:      

(1)查询数据库,获取账号信息;  db.js --> get_user_data函数      

(2)检车玩家是否已经在一个房间游戏: get_room_id_of_user,只有没有在游戏才可以创建;      

(3)room_service.js 的createRoom:              

1>找到最小的负载的server;              

2> 获取用户的gems房卡的数目;              

3>麻将服务器http_server, create_room URL响应;              

4> roomMgr创建一个createRoom:                  

a:检测创建参数, b 检测房卡的余额,c创建房间;              

5>:URL 响应返回后enterRoom    

 (4) room_service.js 的enterRoom:            

1> 麻将服务器http_server, enter_room URL响应            

2> roomMgr enterRoom 返回一个token给大厅服务            

3> 大厅服务组合麻将服务器的ip, port, token, 房间ID 回给客户端

 

 

寻找客户端处理返回

1:获得了麻将服务器的ip, port, token, time;

2: 连接麻将服务器 GameNetManager.js  --> connectGameServer

3: 连接成功后,发送登陆游戏服务器的命令  socket.io发送登陆login

4: 获取房间的信息,包括座位信息等,广播给房间的其他玩家用户来了

5: 发送登陆结果命令  login_result到客户端,客户端保存好;

6: 发送登陆结束命令login_fished 进入到游戏场景;

 

 

下一篇:达达麻将客户端初始化流程