2012-01-31 2 views
0

사용자가 다운로드 할 수있는 Ruby 클라이언트가 있습니다. 사용자가 소유 한 다양한 장치에 설치할 수 있습니다. 클라이언트는 매우 자주 실행되며 다양한 데이터를 서버에 전송합니다.특정 사용자의 장치를 각각 고유하게 식별합니다.

각 장치를 고유하게 식별하여 어떤 장치에서 다양한 요청이 시작되었는지 알 수 있기를 바랍니다. 나는 등 OSX, 윈도우, 안드로이드에 사용할 수 있도록

  • 이상적인 식별자는 크로스 플랫폼을 존재하는 것
  • 는 모든 컴퓨터의 설정에서 고유해야하는 것은의 사이 만의 고유 필요가 없습니다 단일 사용자의 컴퓨터 집합.
  • 피할 수있는 경우 파일 시스템에 자체 식별자를 쓰지 않을 것입니다.
  • 식별자는 유지되어야합니다. 가능한 경우 영구적으로.

가장 간단한 방법은 무엇입니까?

답변

0

지금까지 사용자 컴퓨터에 쓰지 않고도 만족스런 방법을 찾지 못했습니다.

현재 UUID gem을 사용하여 파일 시스템에 36 자의 고유 식별자를 쓰고 필요할 때마다 다시 읽습니다.

> Ruby 1.9.2를 사용하는 다른 옵션은 동일한 작업을 수행하는 SecureRandom.uuid method을 사용하는 것입니다. 그러나이 방법은 Ruby 1.8.7에서는 사용할 수 없습니다.

1

sysinfo 보석을 사용하는 경우 sysinfo.to_s을 사용하면 ruby-unix-osx-i386과 같은 문자열이 표시됩니다.

그러나 사용자가 동일한 아키텍처를 가진 두 대의 컴퓨터를 사용하는 경우에는 작동하지 않습니다. 또한 sysinfo가 Android와 같은 플랫폼을 지원하는지 잘 모르겠습니다.

관련 문제