Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 唯一标识特定用户中的每个人';s设备_Ruby_Identity_Uniqueidentifier - Fatal编程技术网

Ruby 唯一标识特定用户中的每个人';s设备

Ruby 唯一标识特定用户中的每个人';s设备,ruby,identity,uniqueidentifier,Ruby,Identity,Uniqueidentifier,我有一个可下载的Ruby客户端,用户可以在他们拥有的各种设备上安装它。客户机只是偶尔运行,并将各种数据发送到服务器 我希望能够唯一地识别每个用户的设备,这样我就可以知道各种请求来自哪个设备 理想的标识符应该是跨平台的,我可以在OSX、Windows、Android等平台上使用 它没有必要在所有计算机中都是唯一的,只是在单个用户的计算机中是唯一的 如果可以避免的话,我宁愿不将自己的标识符写入文件系统 标识符应该保持不变。如果可能,永久性地 最简单的方法是什么?使用gem,例如使用sysinfo

我有一个可下载的Ruby客户端,用户可以在他们拥有的各种设备上安装它。客户机只是偶尔运行,并将各种数据发送到服务器

我希望能够唯一地识别每个用户的设备,这样我就可以知道各种请求来自哪个设备

  • 理想的标识符应该是跨平台的,我可以在OSX、Windows、Android等平台上使用
  • 它没有必要在所有计算机中都是唯一的,只是在单个用户的计算机中是唯一的
  • 如果可以避免的话,我宁愿不将自己的标识符写入文件系统
  • 标识符应该保持不变。如果可能,永久性地
最简单的方法是什么?

使用gem,例如使用
sysinfo.to
,您可以得到像
ruby-unix-osx-i386
这样的字符串


但是,如果一个用户有两台具有相同体系结构的机器,这将不起作用。此外,我也不确定sysinfo是否支持类似于Android的平台。

到目前为止,我还没有找到一种不向用户计算机写入数据的令人满意的方法

目前,我使用将一个36字符的唯一标识符写入文件系统,然后在必要时将其读回

如果您使用的是>Ruby 1.9.2,那么另一个选项是使用执行相同操作的。但是,这种方法在Ruby 1.8.7中不可用