我使用Adobe Flash Professional创建了一个在线多人纸牌游戏。在这个游戏中不允许多个客户/账户,因此我需要检测用户是否加入来自不同设备的游戏。我不能简单地对服务器进行IP地址检查,因为我仍然希望例如在同一个办公室的人们可以一起玩。
我找到了一些解决方案,比如读取MAC地址(Here),但问题是NetworkInfo.networkInfo.findInterfaces()
仅适用于Adobe air,这不是我的情况。
另一种解决方案可能是使用浏览器cookie,但该解决方案的问题在于,用户可以使用例如Chrome和Firefox在同一台计算机上。
作为一款网页游戏,使用js也可以解决问题,所以我也将这个问题标记为js。
更新
在这种情况下,使用SharedObject不起作用,因为谷歌浏览器使用自己的存储。
任何建议都将受到赞赏。
答案 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