2012-03-27 6 views
0

ローカルとオンラインの両方で再生できるカードゲームであるAndroid用のアプリケーションを作成したいと思います。つまり、クライアント(Android搭載端末)とサーバーがあります。理想的には、Androidの携帯電話をサーバーとして使用してゲームをホストする(同時に再生する)ことができます。私はサーバーとクライアントの間でコードを複製したくありません。コードを複製せずにサーバーとして使用できるクライアントでローカルとオンラインのAndroidゲーム

ここで私が念頭に置いていたのは、アプリケーションにサーバー部分が含まれていることです。アプリケーション自体によって、またはアプリケーションなしで(コンピュータ上で)実行可能になります。 ローカルゲームでは、サーバ用のスレッドとクライアント用のスレッドが実行されます(localhostを介してローカルサーバと通信します)。オンラインゲームでは、離れたサーバが実行されており、ローカルクライアントはネットワークを介して通信しています。

私の質問は以下のとおりです。

  1. 私のアプリケーションは、ローカルホストを通じて、自分自身から来ているスレッドと通信することができるだろうか?
  2. アプリケーション全体をサーバーとして使用できますか?電話機では、サーバスレッドを実行し、次にクライアントスレッドを実行します(必要なのは何ですか?)。遠いサーバー(デスクトップコンピュータ)で、私はすべてのAndroidのものがなくても、サーバースレッドだけを実行します。
  3. 他のアイデアはありますか?

私はあなたが問題を理解するのに十分明確であることを望みます。 ありがとうございます。

+0

「私はサーバーとクライアントの間でコードを複製したくありません。あなたのAndroidアプリとデスクトップアプリの両方で同じ機能が必要な場合は、現実的には何らかの重複したコードを持つことになります。それとも、コピー/貼り付けをしたくないという意味ですか? – kabuko

+0

はい、私はちょうど私がコピー/貼り付けられたコードを望まないということです。私はこれを行う便利な方法を探しています。 – Niavlys

答えて

0

はい、あなたのアプリはTCPソケットを介して通信することができますが、それは問題ではありません。ほとんどのサーバー機能をjarファイルに入れてみることをお勧めします。その後、Android APKと、デスクトップ用の独立したJavaフロントエンドが用意されています。おそらく、各プラットフォームに固有の小さなホスティングコードを用意する必要があります。たとえば、バックグラウンドでホストできるようにするには、サーバをAndroidのServiceに置くことが理にかなっています。

+0

ありがとうございます。別の瓶は興味深い解決策のように聞こえる。私はそれが外部ファイルとして資産またはresフォルダに含まれ、APKから開始されると考えています。しかし、私は、サーバーを構築してjarファイルを生成し、Androidプロジェクトのjarファイルを自動更新するという全プロセスを望みます。私は手動でこれを再度行う必要はありません私はサーバー内の小さなものを変更するたびにしたくありません。 – Niavlys

関連する問題