0

このようなオンライン ゲームを作成したいと考えています。このタイプのゲームには、Web サーバー上にスケジューリング ソフトウェアがあると思います。例: Player クリックしてリソースを作成します。リソースの作成には 20 分ほどかかります (リソースの作成時間はそれぞれ異なります)。このメッセージは Web サーバー アプリケーションに送信されますが、このメッセージは同時に処理されません。たとえば、20 分後に処理する必要があります。メッセージを取得した後の Web サーバー アプリケーションは、順番をキューに入れる必要があります。

いくつかの大きな問題があります:

1- ジョブは Web サーバー アプリケーションによって完了する必要があります。プレーヤーもゲームを終了します。Web Server に Windows サービスのようなものを作成する必要があると思います。私たちはそれを行うことができますか?またはより良い方法はありますか?

2- 2 番目の問題は、問題 1 に依存していました。多くのジョブがあるため (すべてのプレイヤーがログインごとに 20,30 のジョブを作成でき、何千ものユーザーが存在することになります)、スケジュール システムは時間どおりに動作する必要があります。同じ秒に 100、1000 のジョブがある可能性があります アプリケーションが彼のジョブを完了できない場合 秒は次の秒を使用し、次の秒のジョブは次の秒にシフトします など.この問題 ?

プラットフォーム: .Net 3.5 Windows 2003 Web サーバー上

乾杯

アサド サファリ

アジャイルコーチ、スクラムマスター

4

4 に答える 4

2

UNIXでは、を使用cronしてスクリプトを1分ごとに実行するようにスケジュールします。その後、スクリプトがすべてのジョブを処理します。

http://en.wikipedia.org/wiki/Cron

于 2010-05-23T22:12:04.240 に答える
0

具体的な答えは、使用しているテクノロジー/言語/プラットフォームによって異なります。Javaでは、Quartzが提供するスケジューリングサービスをチェックして、ジョブをスケジュールします。そして、JMS / MDBをチェックして、質問2で言及した非同期イベント処理を実装します。

于 2010-05-23T22:09:35.180 に答える
0

私の答えはあなたの質問に正確には合わないと思いますが、問題は解決します。両方のポイントを同時に。

そもそも、なぜこのイベントの実行を自動化したいのでしょうか? 私が理解している限り、プレイヤーが特定の時間前にリソースを作成した場合にのみ、プレイヤーにリソースへのアクセスを許可する必要があります。

さて、これが私の解決策です。usable_sinceなどの名前のフィールドをリソース モデル クラスに挿入し、プレーヤーがリソースを作成するときに、このフィールドの値を現在の時間に希望の待ち時間を加えた値に設定します。

このようにして、次の 2 つの問題を解決します。

  1. プレーヤーがオフラインになっても、リソースは使用できます。
  2. 100 万人のユーザーがいる場合でも、それほど大きなジョブ ハンドラーをセットアップする必要はありません。

お役に立てば幸いです。ゲーム開発の成功をお祈りしています。楽しくしましょう!

于 2010-05-23T22:24:40.217 に答える
0

サーバー側のスケジューリングに依存するアプリケーションも開発しているため、多少似たような質問がありました: Job-Scheduling in Play! フレームワーク。私はPlay Framework (Java)を使用していますが、これは魅力的に機能します。ただし、サーバーをひざまずかせずに同時にスケジュールできるジョブの数については経験がありません。

于 2012-05-04T05:55:01.320 に答える