UnityのC#でゲームを作っており、
モバイル端末間のデータ引継ぎに関して調査しております。
端末固有のIDを取得または生成したいと考えており、
その過程で件名のGuid構造体を見つけました。
下記、MSDNによると
"GUID は、128 ビットの整数 (16 バイト) 一意の識別子が必要であれば常に、
すべてのコンピューターおよびネットワークの間で使用できます。
このような識別子には、重複する可能性は非常に低いができます。"
https://msdn.microsoft.com/ja-jp/library/system.guid(v=vs.110).aspx
とあるのですが、
"すべてのコンピューターおよびネットワークの間で使用できます。"と
いう部分が非常にひっかかっております。
そもそも全端末でほぼ異なる一意なIDがなぜ作れるのか?
モバイル間でどのIDが発行されたかを知るにはサーバーサイドなどで
アクティベーションを管理していないと不可能だと思うのですが、
ここでいう"すべてのコンピューターおよびネットワークの間で使用できます。"とは
どういう意味でしょうか?
以上、よろしくお願いします。
■環境
Windows10
Unity5.3.5f1
(Unityなので.Netは2.0 C#は3.0だと思われます。)
以降の回答で納得する事ができました、「言い換えれば、「自分が今生成した UUID が、過去未来、ネットワークの全マシン上で生成された別の UUID と完全一致する可能性はきわめて低いがゆえに一意の識別子として使えます」です。」の部分はたいへんわかりやすく確立によって一致しにくい旨もわかりました。 後はサーバーに問い合わせて一致した場合、再度Generateしてサーバーに問い合わせてと言ったような仕組みができればうまく使えるのではと考えております。
– user3732298 Jan 27 '17 at 07:21