记录 异步请求机制

系统简单结构

client--->[logicd1, logic2]--->cached


从client过来的消息分发给先前注册的Handler

csMsgDispatcher->Dispatch(buf, len, param);

buf + len就是表示cs message。

param附加参数,后面将用到。


从cached也有消息发过来,和cs消息处理方法一样,用另外一个MsgDispatcher分发器对象。


登录处理流程(主要看角色数据是否已经存在)

1.  角色登录,角色数据一存在,处理完登录流程;否则;

2.  向cached发获取角色数据请求,请求中带上cs message,这个cs message做为透传,后面有用。结束(登录流程未完成)。

注意看2中余下部分的处理,粗暴直接没公用性的处理方式就不说了。


收到从cached过来的消息处理如下:

       

获取cached的角色数据,生成角色对象;
重新分发cs message, 这个cs message请看登录处理流程2,带上的cs message。

这样,重新走了一遍登录流程,肯定只要上面第1步就登录完成了。


还有一个类似判断是否好友和公会成员,处理机制类似,从好友服务器和公会服务器得到结果后,要将"是否是好友", “是否是公会成员”的信息通过param,传给cs的Handler。



       


   






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值