0

Adobe Flash Professional を使用して、オンライン マルチプレイヤー カード ゲームを作成しました。このゲームでは複数のクライアント/アカウントが許可されていないため、ユーザーが異なるデバイスからゲームに参加しているかどうかを検出する必要があります。サーバー側で IP アドレスのチェックを単純に行うことはできません。たとえば、同じオフィスにいる人々が一緒にプレイできるようにしたいからです。

MACアドレスを読み取るなどの解決策を見つけました(ここ)が、問題はNetworkInfo.networkInfo.findInterfaces()Adobe Airでのみ機能することです。これは私の場合ではありません。

別の解決策としてブラウザの Cookie を使用することもできますが、この解決策の問題点は、ユーザーが同じコンピュータで Chrome と Firefox などを使用できることです。

これは Web ゲームなので、js を使用することも解決策になる可能性があるため、この質問にも js のタグを付けます。

アップデート

この場合、Google chrome は独自のストレージを使用するため、SharedObject を使用しても機能しません。

任意の提案をいただければ幸いです。

4

1 に答える 1

0

ブラウザ Cookie の代わりに、「フラッシュ 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 に答える