1

私は、Java と Netty に基づくチェス プレイ サーバーと、C++ を使用したクライアント アプリケーションを開発しています。クライアントとサーバー間のメッセージング プロセスは Google Protobuf プロトコルに基づいています。サーバー アプリと緊密に統合されるように、Web サイトをアプリケーション サーバーのクライアントとして機能させたいと考えています。

ウェブサイトに Play 2.1(JAVA) フレームワークを選択しました

1)

まず、Netty サーバー インスタンスを Play 2.1 アプリケーションから実行しようとして問題が発生したため、次のコードを Global.java (Play フレームワークの起動ファイル) に追加しました。

   public void onStart(Application app) {
    // ...
        new Thread() {
            public void run() {
                new NettyServer().run();
            }
        }.start();
   }

この方法で Netty の独自のインスタンスを実行することは良い考えだと思いますか?

2) データを検証する方法がわかりません。アプリケーション サーバーは C++ クライアントと Web サイトの両方から異なるプロトコルで検証するデータを取得するため、クライアントは protobuf プロトコルを使用してバイナリ エンコードされたデータとして送信し、Web サイトは POST 要求を送信します。両方のクライアント Web サイトから送信されたデータを検証するために、Form < T > ヘルパーを使用できますが、バイナリでエンコードされた protobuf データには使用できないと考えていました。検証を管理する方法についてのアイデアはありますか?

3) i18n Play モジュールの Messages.get() を使用して、メッセージをユーザーの言語に翻訳します。クライアントがブラウザを使用している場合、Play はクライアントのリクエスト ヘッダーからユーザーの言語を判断し、適切な翻訳ファイルを選択します。

しかし、私のクライアントはどうですか?ユーザーの言語について何も知らないので、アプリに送信できません。
さらに、Messages.get() で手動で言語を設定する方法を見つけることができませんでした

4

0 に答える 0