获取游戏中的玩家在线状态-II

今天前辈跟自己分享了一个获取用户在线状态的新方法,这是他在阅读pomelo源码时发现的。这也激起了自己阅读源码的好奇心。每次听前辈说代码很有意思的时候,自己都会感觉,这才是热爱编程的人,自己还没有达到那个地步,还需要继续努力啊。

闲话少说,进入整体。在pomelo的源码里,有一个connectionService 这样一个服务。该服务时来源于前端服务器[即connector服务器],可以在进入游戏的时候获取到。这个服务需要加载connection 组件。组件在app中的名称是 :__connection__。所以获取的时候是这样获取的,global.app['components']['__connection__']['logined'].

logined 是当前服务器在线玩家的uid 对象数组。[{uid: uid,...},...]这样一种结构的数据。所以在获取玩家的在线状态,只需要获取到这个数组,循环判断一下是否包含所查询的玩家uid. 这个获取在线状态的方法只能写在connector服务器里,因为其他地方获取不到。可以将方法定义在connector的remote中。其他服务器rpc调用。

跟之前的获取玩家在线状态的区别,这个方法执行效率更快一些。不需要 像之前那样双层循环。一个是 O( n * n ),一个是O(n) 一下子就看出来了。


配张图吧 老写文字太单调了呵呵。还是美女养眼啊。。。

昨天花了血本,花了一万大洋买了一台Mac Pro ,这是自己一个梦想的实现,也是下一个梦想的开始,继续在程序员的道路上前向吧,不管有多艰辛,我相信自己总会感谢自己现在的努力的。Fighting!!!

待续。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,107评论 25 709
  • 在游戏中,好友和聊天系统里,需要用到玩家的在线状态,搞了两三天,大致搞明白了,在这里总结一下. pomelo的AP...
    抓不住的风阅读 3,934评论 2 3
  • 今天一下午,都在解决自己之前的bug,聊天推送消息推送不出去。 首先自己有一个误区,以为所有的玩家都是从同一个前端...
    抓不住的风阅读 1,602评论 1 5
  • 山居夏语 PS:在这个快节奏的生活,来到一个寂寥又远离都市的...
    唱歌的和尚阅读 233评论 0 0
  • 倏忽间人生已半百。再聚首,曾年少风华正茂之少年已两鬓染霜。儿时的音容笑貌已被岁月摧残得不辨你我,叹岁月之无情,叹民...
    自由最珍贵阅读 319评论 0 0

友情链接更多精彩内容