6

我正在构建一个实时游戏,主要是基于聊天的,我需要同时运行许多这样的聊天,通过网络套接字接收和发送数据。

有人告诉我,与其在每个游戏中生成一个进程,不如在每个游戏中有一个进程和一个线程(可能使用事件机器)。

我将 Juggernaut 用于套接字部分,它允许我通过使用发布/订阅系统向游戏中的所有玩家发送数据:每个玩家订阅一个游戏。但是我如何将每个玩家的数据发送到那个特定的游戏呢?

我在想我可以将游戏ID或频道ID从客户端发送到服务器,然后将其发送到相应的线程。

但是如何将任何内容发送到线程?

4

1 回答 1

7

要将数据发送到线程,可以使用 Ruby Queue:

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

于 2012-04-06T15:46:04.900 回答