一个简单的游戏服务器生成全局唯一ID
全局唯一ID
在游戏开发中, 经常需要用到全局唯一ID,什么叫全局唯一ID呢,意思就是在整个游戏中,
分配的这个ID都是唯一的,绝对找不到有两个一样的ID。比如游戏中的玩家角色,英雄、NPC、装备、NPC、邮件等等
都是使用这个全局唯一ID要索引指定对象的!
生成方法
如果要做到跨服不同, 则需要加入服务器ID标识, 以时间为计数, 加上计数
代码
def getGuid(self):
self.__acc += 1
self.__acc = self.__acc % 1000; #此处需要处理 15毫秒内同时生成1000个的情况
return self.__serverID * 1000000000000000L + long(time.time() * 1000) % 1000000000000L * 1000 + self.__acc