2

1 人のプレーヤーがサーバーに送信される移動を行ったとき。そして、その動きはサーバーによって 2 番目のプレーヤーにプッシュされます。私の知る限り、2 番目のプレーヤーに移動をプッシュするサーバーは、RESTful API であることに反します。

backbone.js について私が知っていることはほとんどありませんが、これは実際には RESTful セットアップを対象としています。サーバーがいつでもデータをクライアントにプッシュできるようにするために、websockets で backbone.js を使用する方法はありますか?

backbone.js と websockets を使用してチェスを実装する慣用的な方法はありますか? そうでない場合、チェスを実装する正しい方法は何でしょうか?

4

3 に答える 3

0

あなたは間違いなくそれを行うことができます。コレクション/モデルを取得する代わりに、websocket から適切なモデルまたはコレクションに JSON データsetを取得するだけです。updatereset

やや疑似コードの例:

var board = new Backbone.Collection(); // this would probably be your own extended Collection instead.

function boardChange(jsonFromServer){
   // Take the json array from server,
   // and update the collection with it.
   // This would trigger 'change' events in each model in the collection (if changed).
   board.update(jsonFromServer);
}
于 2013-02-15T00:18:18.560 に答える
0

Backboneチェス アプリの実装には、実際にはアーキテクチャは必要ありません。サーバーがAsynchronous APIWebSockets、またはlong-polling(何でもリアルタイムで) サポートしている限り、それは可能です。これを実行する Web 上には既にたくさんの がありAPI(つまりFireBase )、フレームワーク (つまりMeteor ) が頭に浮かびます。

サーバー側でNode JSを使用している場合は、Socket IOも確認してください。GitHub には、これらの Web テクノロジの一部、特に Backbone を既に利用しているオープン ソース プロジェクトがたくさんあります。Socket IO を備えたバックボーンBackbone.ioBindも有望なプロジェクトのように見え、コード サンプルを見ることができます。

で動作させるためにBackbone、データ API は、サーバーで更新が行われたことをクライアント側のリスナーに通知するだけで済みます。これchangeにより、バックボーンでイベントがトリガーされますModel

nコードのプロトタイプをテストするためだけに、一定時間ごとにサーバーへのリクエストを実行するタイマーを設定することもできます。

于 2013-02-15T00:39:02.923 に答える
0

Backbone.sync メソッドをオーバーロードして、websocket を使用できます。事実上の To-Do の例 ( http://addyosmani.github.com/todomvc/ ) では、RESTful データストアの代わりに localstorage を使用するためにこれを行っており、Web ソケットに対しても同じことができます。実際、Github/Google を見回すと、既にそれを行っている人を見つけることができるかもしれません。

于 2013-02-15T18:04:50.417 に答える