2016-11-06 3 views
2

Unityによってゲームを作成しています。プレイヤーのスコアをMongoDBにアップロードします。したがって、私はポート3000を聞いてnode.jsサーバーを構築し、スコアはサーバーに送信され、データベースに格納されます。Webアプリケーションとモバイルアプリケーションの両方のnode.jsサーバー

私の質問は、プレイヤーのスコアを表示/分析するためのウェブサイトを作成したいのですが、どちらのアプローチをとるべきですか?

  1. (イムことが可能であるかどうかわからないかではない)2台のNode.jsサーバ、Web用、ゲーム
  2. 1台のNode.jsサーバーのための1つを作成するが、ポート80と3000に耳を傾けます
  3. 他の良い提案はありますか?

ありがとうございます。

答えて

2

ノードサーバーを1つ作成します。これは、apiリクエストとWebリクエストの両方を処理するものです。

APIによって配信されるデータのように聞こえます。ウェブは、同じか、または互いにサブセットになります。だから、あなたは、おそらくコードを共有したいと思う、あなたは、APIの使い方やWeb用途(/my_scores/api/v1/my_scores)ORがいることを実感別々のルートを作成することができますいずれか、データベースから同じもの、などなどここから

を検索同じデータの異なる表現を求めて、checking the accept headerのようなRESTfulなものを実行し、サーバーにHTMLを描画したり、JSONをクライアントに送り返したりしてください。

また、Nodeにapiを作成し、AngularやReactのような純粋なフロントエンドツールを使用してサイトのWebフロントエンドを作成することもできます。

0

多くのユーザーが非標準ポートをブロックするファイアウォールを介してインターネットにアクセスするため、ポート3000を使用することはお勧めできません。

両方のユースケースの通信を保護するために、443ポートとhttpsの使用をお勧めします。

スコアを分析するサイトがapiサーバーと論理を共有しない場合は、別のサイトとして作成できますが、開始時には単一のアプリケーションを管理する方が簡単です。

0

私はあなたの質問を簡単に理解して、私の限られた知識によれば、データベースを持つ複数のサーバーは必要ないと思います。その理由は、ハイスコアを表示したいWebだけでなく、エンドユーザーがWebサイトに何かを挿入できるからです。複雑さが最小限に抑えられているので、別のサーバーを作成する必要はありません。ウェブサイトで使用するためのAPIを別個のデータにするだけです。

関連する問題