-1

很明显,基于 AJAX 的聊天无法扩展,那么您将使用什么进行聊天?自定义服务器?还是有什么其他方法?

由于使用 Rails,每个聊天连接都将占用大量内存,因此即使为每条消息都运行 Rails 也是不可行的。你推荐在这里使用什么?

4

5 回答 5

1

我还尝试使用 AJAX(内置 Ajax.updater)实现一个示例聊天应用程序,但它没有锻炼。我确信可能有一些好的 ajax 解决方案。

但由于这是基于服务器推送技术,请尝试 Juggernaut ( http://juggernaut.rubyforge.org/ )。我个人没试过,但感觉还不错。

或者,如果可能,请考虑使用 Web 套接字(在 HTML5 中)。

于 2010-12-14T15:25:26.287 回答
1

人们经常使用 Evented Ruby 来处理像https://github.com/eventmachine/eventmachine这样的问题,这是我在 railsconf 2010 上的演讲中的一个例子。

例如http://playtype.net/past/2009/3/11/mini_an_eventmachine_clone_of/是一个 irc 机器人的事件 ruby​​ 实现

于 2010-12-14T15:32:01.010 回答
1

不幸的是,您的帖子基于错误的前提。基于 AJAX 的聊天当然可以扩展,您只需要以正确的方式进行。例如,剑圣 2 使用 Node.js 来处理许多并发连接。没错,您将无法在单个服务器上处理 10,000 个连接。这就是负载平衡的用途。

于 2010-12-14T17:53:25.573 回答
0

您是否有一些基于定量测试的数据(除了您自己的定性结论)?

于 2010-12-14T13:08:26.700 回答
0

为什么要为聊天创建任何类型的自定义服务器?IRC 已经存在了很长一段时间,并且经过了多次尝试和测试。

这里真正的问题应该是关于客户端实现,而不是试图重新发明轮子服务器端 imo。

于 2010-12-14T13:43:43.950 回答