一个简单的游戏服务器生成全局唯一ID

全局唯一ID

在游戏开发中, 经常需要用到全局唯一ID,什么叫全局唯一ID呢,意思就是在整个游戏中,
分配的这个ID都是唯一的,绝对找不到有两个一样的ID。比如游戏中的玩家角色,英雄、NPC、装备、NPC、邮件等等
都是使用这个全局唯一ID要索引指定对象的!

生成方法

如果要做到跨服不同, 则需要加入服务器ID标识, 以时间为计数, 加上计数

代码

  1. def getGuid(self):
  2. self.__acc += 1
  3. self.__acc = self.__acc % 1000; #此处需要处理 15毫秒内同时生成1000个的情况
  4. return self.__serverID * 1000000000000000L + long(time.time() * 1000) % 1000000000000L * 1000 + self.__acc




posted on 2014-11-03 10:44  浩月难求也与  阅读(512)  评论(0编辑  收藏  举报

导航