7

私は現在、オンラインマルチプレイヤーチェスゲームを作っています。すべての動きにログインするためにユーザートリガーを使用するのが適切かどうか疑問に思いました。

次に、nodejsを使用して、トリガーテーブルを繰り返しチェックし、プレーヤーとオブザーバーの両方のビジュアルを更新します。

データベースに変更を加えるだけでよいので、視覚的な側面は自動的にフォローアップされます(繰り返し機能を使用してデータベース内の変更されたデータをチェックします)。これの目標は、ゲームを作成するために必要なロジックからビジュアルを分離することです。

このテクニックをお勧めしますか、それとも単にダメですか?

4

1 に答える 1

7

あなたはあなたの仕事のために可能な技術的解決策を説明します。しかし、そうしないことを強くお勧めします。

これはあまり拡張性がありません-データベースとアプリケーションサーバーの両方に多くのオーバーヘッドと負荷を追加します。

はるかに優れた拡張性を備えた他の軽量の可能性があります。

  • node_redisクライアントで(たとえば)redisのようなメッセージキューを使用します。pubsubセマンティクスが組み込まれています。
  • データベース呼び出しを抽象化し、すべてのデータベース更新もメッセージキューにプッシュします。
  • 「繰り返し」関数(AJAXポーリング)を使用してステータスの更新を取得する代わりに、たとえばjquery -streamjquery-socketなどのHTTPストリーマーを使用できます。これにより、クライアントの更新ごとに新しいHTTP接続を開くオーバーヘッドが回避されます。
  • サーバー側でnodejsのイベント駆動型機能を使用して、新しいイベントをクライアント接続にプッシュします。
于 2012-04-25T06:47:33.633 に答える