0

假设我想写一个 AJAX 聊天框,只是一些简单的东西,我写了一些文本,然后它就会被发布。让我们甚至不必太担心框中的用户名。

第一直觉告诉我只写一个表并将数据发布到其中,然后每隔几秒钟查询一次。

让我们假装这不是 2011 年,计算机便宜,我们可以接受每 5 秒更新一次的缓慢延迟聊天框,或者用 SQL 风暴减慢整个服务器的速度。

有哪些替代方案?我可以用 XMPP 做点什么吗?如果除了我最喜欢的服务器端语言(和一些 SQL)之外什么都没有怎么办?我可以以某种简洁的方式使用消息哈希吗?我可以做些什么来限制请求的数量?

我正在寻找的是一个伟大的计划,用于编写基于 Web 的聊天框背后的软件,该软件非常高效且灵活。我确信我们正在为我们已经拥有的聊天室在 SO 上做一些整洁的事情。

4

1 回答 1

1

你的问题是你时不时地轮询。您真正想要的是与流数据的持续连接。

您可以尝试使用Comet方法 - 您可以保持打开状态以向下发送聊天消息的流连接。

还有一个叫做长轮询的技巧——你保持连接打开直到你收到一条新消息,然后关闭它并开始一个新消息。

于 2011-05-03T15:10:15.600 回答