2011-10-30 12 views

答えて

5

本当に必要ありません。ノードはイベントベースであり、単一のプロセスはこのようなプレーヤー対の何千ものものを処理することができるだろうから。 now.jsを使用していると仮定して、このようなペアごとに「部屋」/「グループ」/「チャンネル」を作成します。命名法は使用する図書館によって異なる場合がありますが、全体的なアプローチは同じです - 同じ「チャンネル」でお互いに対戦するすべての選手を割り当てることです。あなたが実際にそのようなプレーヤーのペアごとに子プロセスを使用しているのであれば、実際にはnode.jsが構築される目的を殺しています。

一方、子プロセスを生成する実際の使用例は、forever.js(およびcluster.js)に実装されています。ここで、子プロセス(ワーカーとしても知られている)は、マスタープロセスによって生成されます。ワーカープロセスはHTTP要求を処理するなどの実際の作業を行いますが、マスタプロセスはワーカープロセスを監視し、既存のプロセスが停止した場合には新しいワーカープロセスを生成します(さまざまな理由により)。子プロセスは、非nodejアプリケーションを呼び出すためにも使用されます。

2

Node.JSのクールなことは、ほぼすべてのロジックを1つのスレッドで作ることができ、かなり素敵なカーネル機能によって、新しいソケット情報がいつ処理されるかを知ることです。

Nodeが逃げようとしていることの1つは、接続ごとの1スレッドモデルです。 thisをご覧ください。ノードはI/Oバウンドアプリケーションに適しているため、ゲームで物理オブジェクトを計算するなどの処理が必要な場合は、Nodeが適切ではない可能性があります。

+0

"ゲームに物理的なオブジェクトを計算するなど、あまりにも多くの処理が必要な場合、Nodeはあなたのために適切ではないかもしれません" - これはもう真実ではありません:http://nodejs.org/docs/latest/api/cluster.html – thejh

関連する問題