0

接続されたクライアントとは独立して実行されるノードプログラム (またはサブプログラム/ループ) を作成することは可能ですか、それとも実用的ですか?

したがって、私の特定のユースケースでは、プレイヤーが各ターンでアクションを実行するマルチプレイヤー ゲームを作成したいと考えています。そして、そのターンの終わりに、それらのアクションが計算されます。接続しているクライアント/プレーヤーに関係なく、特定の時間にこれらの計算を実行することは可能ですか?

これには、どこかでスレッドを使用することが含まれると思います。

おそらく、より簡単な解決策は、観察されたときに結果を計算することですが、他のエンティティに影響を与える場合、これは困難を引き起こす可能性があります. しかし、この問題はしばらくの間私の好奇心でした。

4

2 に答える 2

0

各ターンの計算がそれほど重くない場合は、単純な setTimeout() で問題を解決できます

function turnCalculations(){
    //do loads of stuff every 30 seconds
}

setTimout(turnCalculations,30000)

//normal node server stuff here

これにより、接続しているユーザーに関係なく、30 秒ごとにターンの計算が行われますが、計算に時間がかかると、サーバーがブロックされる可能性があります。

于 2013-11-08T19:28:45.833 に答える