wesom 发表于 2011-4-13 11:01:48

请教基于时间的UUID生成算法

如题,应用场景在同一时空内产生永不重复的唯一ID,
在多连接服务器中标识客户ID。

freeeyes 发表于 2011-4-13 12:23:41

本帖最后由 freeeyes 于 2011-4-13 12:24 编辑

ACE有UUID的模块。
ACE_Utils::UUID_GENERATOR::instance()->init();
ACE_Utils::UUID uuid;
ACE_Utils::UUID_GENERATOR::instance()->generateUUID(objuuid);
sUuid.assign(objuuid.to_string ()->c_str ())
具体请查看ACE_Utils相关API
相关例子
#include <iostream>
2 #include <ace/ACE.h>
3 #include <ace/UUID.h>
4 #include <ace/Process.h>
5 using namespace std;
6
7
8 int main(int argc, char* argv[])
9 {
10   string uuid_str;
11
12   while (1)
13   {
14         ACE_Utils::UUID_Generator uuidout;
15         uuidout.init();
16         ACE_Utils::UUID uuid;
17         //uuidout.generate_UUID(uuid);///->ace5.6.9
         uuidout.generateUUID(uuid);///->ace5.4.0
18         uuid_str.assign(uuid.to_string ()->c_str ());
19         cout<<uuid_str.c_str()<<endl;
20         ACE_OS::sleep( 1 );
21   }
22   
23   return 0;
24 };

wesom 发表于 2011-4-14 11:28:50

昨天仔细看了UUID的实现,能满足要求,谢了
页: [1]
查看完整版本: 请教基于时间的UUID生成算法