人々がScalaを学ぶのを助けるためのコミュニティリソースとして意図された少しの教育プロジェクトのために、私はバックグラウンドスレッドでWebページを提供して処理する簡単な方法を探しています。Scala:小さなWebサーバーをscalaアプリケーションに埋め込む方法は?
最小の背景:Scalatronは、プレイヤーが(Scalaで書かれた)ボットプログラムをお互いに投げつけるマルチプレイヤーゲームです。 Scalaのチュートリアルを手順を追って説明します。現在、ローカルマシン上でIDEを使用してボットをコンパイルする必要があり、ボットを共有ネットワークディレクトリにコピーしてゲームに公開します。これは面倒です。次のバージョンでは、主催者とプレイヤーの両方の設定を最大限に簡素化するために、ブラウザベースのボットの編集と公開を提供するのが良いでしょう。
私は既にScalaのソースコードをサーバー上に即座に到着させてコンパイルするバックグラウンドスレッドを持っています(完全なIDEの必要性を取り除きます)。次に、プレーヤーのためのアクセスポイントを提供し、ボットのアップロードを処理するために、小さなWebサーバーを実行しなければなりません(これはネットワーク共有を取り除きます)。
要件は非常に基本的なものです。最初は、編集ボックスと「移動」ボタン(サーバーにアップロード、ゲームに公開する&をコンパイル)で1ページを配信することを想定しています。私は、5秒または10秒ごとに、全ユーザーに1回以上のボットアップロードを行わずに、20人以下の同時ユーザーを期待しています。私は各ユーザ(ちょうど名前)のための最小限の状態を保持する必要があり、私はコンパイラのエラーメッセージをユーザに返す必要があります。ゲーム画面の更新はブラウザに表示されるのではなく、サーバーマシンに接続されたプロジェクターに表示されることに注意してください。そして主に、可能な限り簡単なセットアップ(ゲームサーバー.jarをダブルクリックすること)を可能にするために、既存のゲームサーバー内のバックグラウンドスレッドでWebサーバーを実行することはいいと思います。
これを行う最も適切な方法は何ですか? PlayやLiftのような既存のフレームワークを使用する必要がありますか?これに非常によく似た何かをするための既存のコードはありますか?このようなバックグラウンドスレッドでWebサーバーを実行する計画は合理的ですか?アドバイスありがとうございます。
グレート、おかげでそれをチェックアウトします! –
私はJettyとすべての仕事をしています。先端に感謝します。 –