6

私は、主にチャットベースのリアルタイムゲームを構築しています。これらのチャットの多くを同時に実行し、Web ソケットを介してデータを送受信する必要があります。

ゲームごとに 1 つのプロセスを生成する代わりに、ゲームごとに 1 つのスレッドで 1 つのプロセスを作成する必要があると言われました (おそらく Event Machine を使用します)。

私はソケット部分に Juggernaut を使用しています。これにより、パブリッシュ/サブスクライブ システムを使用してゲーム内のすべてのプレイヤーにデータを送信できます。各プレイヤーは 1 つのゲームをサブスクライブします。しかし、各プレイヤーから特定のゲームにデータを送信するにはどうすればよいでしょうか?

クライアントからゲーム ID やチャンネル ID をサーバーに送信し、対応するスレッドに送信することができると考えていました。

しかし、どうすればスレッドに何かを送信できますか?

4

1 に答える 1

7

スレッドにデータを送信するには、Rubyキューを使用できます。

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/thread/rdoc/Queue.html

于 2012-04-06T15:46:04.900 に答える