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