我使用Adobe flash Professional创建了一个在线多人纸牌游戏。在这个游戏中,不允许多个客户端/帐户,因此我需要检测用户是否从不同的设备加入游戏。我不能简单地在服务器端检查IP地址,因为我仍然希望同一办公室的人能够一起玩。
我找到了一些解决方案,比如读取MAC地址(Here),但问题是NetworkInfo.networkInfo.findInteces()
仅适用于Adobe air,这不是我的情况。
另一个解决方案可能是使用浏览器cookies,但这个解决方案的问题是,用户可以在同一台计算机上使用例如Chrome和Firefox。
由于这是一个网络游戏,使用js也是一个解决方案,所以我也将这个问题标记为js。
UPDATE使用SharedObject在这种情况下不起作用,因为googlechrome使用自己的存储。
如有任何建议,将不胜感激。
取而代之的是浏览器cookies,您可以使用“flashcookies”-SharedObject。它非常简单,机制类似于浏览器cookie,但存储在闪存本地存储中。
UPDATE例子:
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
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(62条)