我正在构建一个实时游戏,主要是基于聊天的游戏,我需要同时运行许多这些聊天,通过Web套接字接收和发送数据.
有人告诉我,不是每场比赛产生一个进程,我应该有一个进程每场比赛一个线程(可能使用事件机器).
我正在使用Juggernaut作为套接字部分,它允许我使用发布/订阅系统向游戏中的所有玩家发送数据:每个玩家订阅一个游戏.但是如何将每个玩家的数据发送到特定游戏?
我想我可以将游戏ID或通道ID从客户端发送到服务器,然后将其发送到相应的线程.
但是如何向线程发送任何内容?
解决方法
要将数据发送到线程,您可以使用Ruby Queue:
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/thread/rdoc/Queue.html