2012-03-30 8 views
0

をトリガーsockets.ioから別のスレッドを起動するには、私が使用してマルチプレイヤーゲームを開発しています: のNode.js、Sockets.io & Redisのはどのように[OK]をスレッド

とにかくプレイヤーは、ゲームを作成することができますゲームを開始すると、ゲームロジックを10秒に1回更新する必要があります。これは、setTimeoutを使用してx秒ごとに呼び出すメソッドを呼び出すことによって行われます。

私の懸念は、接続されたクライアントが接続し、ゲームを作成して(setTimeoutサイクルを開始して)接続を切断すると、setTimeoutがすべて停止し、他のすべてのプレーヤーのゲームが終了することです。ユーザーが切断したときにsetTimeoutが起動されても、私はまだこれをユーザーsocket.io接続に別々に実行することが理想的です。

node.jsに別のプロセス/スレッドを開始する簡単な方法はありますか? (接続されたsocket.io接続から)

答えて

1

目的に応じて、おそらく。例えば、これがあります:

http://nodejs.org/api/child_process.html

それはそれは、あなたがノード繊維

+0

で見たいと思うかもしれませんではないのであればいただきまし繊維と子プロセスの違いは?また、ユーザーがwebsocket接続を切断した後もタイムアウトメソッドが実際に動作していることがわかりました。または理由もないのですか? –

+1

Fibersは、ノードaka yield()などにスレッドのような機能をもたらします。 子プロセスは、ノードと並列に実行できるサブプロセス(必ずしもノードではありませんが、ノードでもよい)です – ControlAltDel

関連する問題