每台计算机的唯一闪存ID

时间:2014-08-05 16:01:01

标签: javascript actionscript-3 flash facebook-apps hardware-id

我使用Adobe Flash Professional创建了一个在线多人纸牌游戏。在这个游戏中不允许多个客户/账户,因此我需要检测用户是否加入来自不同设备的游戏。我不能简单地对服务器进行IP地址检查,因为我仍然希望例如在同一个办公室的人们可以一起玩。

我找到了一些解决方案,比如读取MAC地址(Here),但问题是NetworkInfo.networkInfo.findInterfaces()仅适用于Adobe air,这不是我的情况。

另一种解决方案可能是使用浏览器cookie,但该解决方案的问题在于,用户可以使用例如Chrome和Firefox在同一台计算机上。

作为一款网页游戏,使用js也可以解决问题,所以我也将这个问题标记为js。

更新

在这种情况下,使用SharedObject不起作用,因为谷歌浏览器使用自己的存储。

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

相反,浏览器Cookie可以使用“flash cookies” - SharedObject。它非常简单,并且具有类似于浏览器cookie的机制,但存储在闪存本地存储中。

<强>更新

示例:

var mySo:SharedObject = SharedObject.getLocal("host"); // get saved SO with name "host" if exists or create new if doesn't exist
mySo.data = {someProperty: "someData"}; // writing some data
var flushResult:Object = mySo.flush(); // saving data in local storage
...
var savedSO:SharedObject = SharedObject.getLocal("host");
trace(savedSO.data.someProperty); // output: someData