3

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

但是是否有可能在没有网络框架的情况下构建基于 Web 的聊天客户端 -仅使用 ajax连接?

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

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

4

2 回答 2

5

如果我理解正确,您希望客户端连接到您的服务器并通过服务器通过 ajax 相互发送消息。这是可能的,有两种方法可以做到这一点。

简单的方法是让两个客户端每隔几秒钟轮询一次,以检查对方发布的新消息。缺点是消息不会立即传递。我认为这是在rails book中找到的一个示例。

更复杂的方法是保持打开的连接,并在服务器收到消息后立即将消息发送给客户端。为此,您可以使用类似剑圣的东西

我想补充一点,尽管后者有效,但它不是 http 的本意,它有点 hack,但是,嘿,不管工作如何完成。这方面的一个工作示例是使用主宰衍生产品的rails 聊天项目。

于 2009-06-25T23:57:57.333 回答
3

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

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

如果是后者,那么您必须允许两个客户端之间的直接 tcp 连接,并且需要更接近金属可以这么说。

所以,问问自己这个问题:你是否想支付流量费用,并且对泄露人们可能在他们的客户中输入的任何内容承担潜在的责任?或者,您更愿意构建一个人们可以用来互相交谈的聊天程序?

当然,在走到这一步之前,你真的想再构建一个聊天客户端吗?那个空间已经很拥挤了。

于 2009-06-25T23:15:31.427 回答