客户端与服务端连接分析(一)

1  当用户在客户端点击椅子坐下的时候 发送坐下的命令到服务器

     SendData(MDM_GR_USER,SUB_GR_USER_SIT_REQ,&UserSitReq,wSendSize);

2 服务端 CAttemperEngineSink::OnSocketMainUser 中接收客户端发送过来的数据包 并转到 CTableFrame::PerformSitDownAction 中处理坐下的动作。

3 服务端在执行一些逻辑判断后,发送数据包到客户端通知用户改变状态 SendUserStatus(pIServerUserItem);此时用户的状态为 US_SIT。

    m_pITCPNetworkEngine->SendDataBatch(MDM_GR_USER,SUB_GR_USER_STATUS,&UserStatus,sizeof(UserStatus));

   同时服务端通知游戏服务开始执行游戏启动的代码。

4 客户端收到服务端的 US_SIT 状态,后执行一些处理,开始启动游戏客户端 StartGameClient()。

   在这个方法里再通知服务端客户端开始启动,SendSocketData(MDM_GF_FRAME,SUB_GF_INFO,&Info,sizeof(Info));

5 服务端收到通知后,修改用户状态为准备好状态,并发送 SendData(pIServerUserItem,MDM_GF_FRAME,SUB_GF_OPTION,&Option,sizeof(Option)) 游戏状态到客户端。

    服务端修改用户状态为准备好后,开始与客户端正常的游戏逻辑通讯。并一开始发送场景到客户端。

    m_pITableFrameSink->SendGameScene(pUserData->wChairID,pIServerUserItem,m_bGameStatus,bSendSecret);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值