0

我使用 Adob​​e flash Professional 创建了一个在线多人纸牌游戏。在这个游戏中,不允许多个客户端/帐户,因此我需要检测用户是否从不同的设备加入游戏。我不能简单地在服务器端检查 IP 地址,因为我仍然希望同一办公室的人能够一起玩。

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

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

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

更新

在这种情况下使用 SharedObject 不起作用,因为 google chrome 使用自己的存储。

任何建议将不胜感激。

4

1 回答 1

0

取而代之的是浏览器 cookie,您可以使用“flash cookie” - 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
于 2014-08-05T16:07:40.827 回答