Ruby on rails 如果没有基于套接字的框架,是否可以构建基于web的聊天客户端?

Ruby on rails 如果没有基于套接字的框架,是否可以构建基于web的聊天客户端?,ruby-on-rails,chat,twisted,web-applications,Ruby On Rails,Chat,Twisted,Web Applications,我听说基于web的聊天客户端倾向于使用网络框架,如twisted framework 但是,是否有可能在没有网络框架的情况下构建一个基于web的聊天客户端—只使用ajax连接 我想构建一个基于会话的一对一网络聊天客户端,它使用会话来指示聊天何时结束。在只使用ajax而不使用网络框架的Rails中,这可能吗 使用网络框架会产生什么影响?不使用网络框架会对我的应用程序产生什么影响?此外,任何关于该项目的一般性建议都将不胜感激。从技术上讲,每个基于网络的应用程序都有一个网络框架,因此是基于套接字的 这

我听说基于web的聊天客户端倾向于使用网络框架,如twisted framework

但是,是否有可能在没有网络框架的情况下构建一个基于web的聊天客户端—只使用ajax连接

我想构建一个基于会话的一对一网络聊天客户端,它使用会话来指示聊天何时结束。在只使用ajax而不使用网络框架的Rails中,这可能吗


使用网络框架会产生什么影响?不使用网络框架会对我的应用程序产生什么影响?此外,任何关于该项目的一般性建议都将不胜感激。

从技术上讲,每个基于网络的应用程序都有一个网络框架,因此是基于套接字的

这里唯一真正的问题是,您是希望所有的聊天都通过您的服务器进行,还是允许点对点通信。如果是前者,您可以使用ajax框架与web服务器对话。这意味着您的所有客户端将不断轮询web服务器以获取更新

如果是后者,那么您必须允许两个客户端之间的直接tcp连接,并且需要稍微靠近金属

所以,问问你自己:你是否愿意支付流量费用,并且有可能因为泄露人们可能在他们的客户中键入的内容而承担责任;或者,您更愿意构建一个人们可以用来相互交谈的聊天程序吗


当然,在走这么远之前,你真的想构建另一个聊天客户端吗?这个空间已经相当拥挤了。

如果我没有弄错的话,您需要客户端连接到您的服务器,并通过服务器通过ajax相互发送消息。 这是可能的,有两种方法可以做到这一点

简单的方法是让两个客户端每隔几秒钟进行一次轮询,以检查另一个客户端发布的新消息。缺点是消息不能立即传递。我想这是一个例子

更复杂的方法是保持开放的连接,并在服务器收到消息后立即将消息发送给客户端。要做到这一点,你可以使用

我想补充一点,虽然后者可以工作,但它不是http的目的,它有点像黑客,但是,不管怎样,都可以完成这项工作。这方面的一个有效例子是使用一个巨型衍生物的