2012-04-06 3 views
3

Я строю игру в реальном времени, в основном, на основе чата, и мне нужно, чтобы многие из этих чатов выполнялись одновременно, получая и отправляя данные через веб-сокеты.Как связаться с нитями в Ruby?

Мне сказали, что вместо того, чтобы порождать один процесс за игру, у меня должен быть один процесс с одним потоком на игру (возможно, с помощью Event Machine).

Я использую Juggernaut для части сокетов, он позволяет отправлять данные всем игрокам в игре, используя систему публикации/подписания: каждый игрок подписывается на одну игру. Но как я могу отправить данные от каждого игрока к этой конкретной игре?

Я думал, что могу отправить идентификатор игры или идентификатор канала с клиента на сервер, а затем отправить его в соответствующий поток.

Но как я могу отправить что-нибудь в тему?

+0

Рассматривали ли вы с помощью Redis? Возможно, у вас может быть действие, которое получает данные и сохраняет его в Redis (http://redis.io/). – Alex

ответ