Tag: 聊天

服务器端推入Rails

我想使用AJAX在rails中实现可扩展的聊天室。 我从研究中得知,唯一可扩展性是在服务器端推送时发生的。 我的两个问题是: 1)在一个相当有效的聊​​天服务器中,轮询在什么时候变得禁止? 2)我真的不想使用Juggernaut。 我不太了解彗星是如何工作的。 我想我想知道,如果使用Javascript(创建客户端服务器/轮询器)和另一种语言(为防火墙后面的客户端提供有效的轮询,以及集成到CGI中),这对我来说是非常困难的。 3)(是的,在2中),我是否正在以正确的方式去做? 我希望得到的最简单的答案是量化的“是的,你将5行Javascript放入客户端,将20行ruby放入CGI脚本中,并称之为一天”。

Rails线程私有消息

我有以下两种型号: class Message ‘User’ belongs_to :from_user, :class_name => ‘User’ has_ancestry #Using the ‘ancestry’ gem end class User ‘Message’, :foreign_key => ‘to_user_id’ has_many :messages_sent, :class_name => ‘Message’, :foreign_key => ‘from_user_id’ end 允许每个用户与另一个用户进行一次对话,并且应该从原始消息中对所有回复进行线程化。 在我的“索引”控制器操作中,如何查询已发送的消息和收到的消息? 例如,如果User1命中’/ users / 2 / messages /’,他们应该看到user1和user2之间的整个对话(无论谁发送了第一条消息)。 我是否需要添加“线程”模型,或者有没有办法用我当前的结构来完成这个? 谢谢。

如何使用ruby Gserver构建基于Web的聊天系统

我正在尝试构建一个基于Web的聊天系统,我将使用ruby gserver。 我看过这个例子 。 但是我的问题是,当我从网络和控制器获得用户输入时,我有用户输入。 现在客户端如何连接到服务器以将此用户输入值传递给服务器。 获取值后,服务器将填充数据库。 因此客户端将从数据库执行所有读取操作。 但是我想知道客户端如何连接到服务器。 这是一个简单的问题,但我无法弄清楚。

如何在ruby中运行后台线程?

我是ruby的新手,并认为重建一个我用C#编写的简单聊天程序是个好主意。 我正在使用Ruby 2.0.0 MRI(Matz的Ruby实现)。 问题是我想在服务器运行时为简单的服务器命令提供I / O. 这是从示例中获取的服务器。 我添加了使用gets()获取输入的命令方法。 我希望这个方法在后台运行作为一个线程,但该线程阻止了另一个线程。 require ‘socket’ # Get sockets from stdlib server = TCPServer.open(2000) # Socket to listen on port 2000 def commands x = 1 while x == 1 exitProgram = gets.chomp if exitProgram == “exit” || exitProgram == “Exit” x = 2 abort(“Exiting the program.”) end end […]