让我们说我想写一个AJAX聊天框,只是简单的东西,我写了一些文字,然后它被发布了。让我们不要太担心盒子里的用户名。
第一直觉告诉我只需写一个表并将数据发布到其中,然后每隔几秒查询一次。
让我们假设这不是2011年,计算机也很便宜,我们可以使用缓慢的延迟聊天框,每5秒更新一次,或者用SQL风暴使整个服务器速度变慢。
有哪些替代方案?我可以用XMPP做点什么吗?如果除了我最喜欢的服务器端语言(以及一些SQL)之外没有其他任何内容怎么办?我可以用一些简洁的方式使用消息哈希吗?我该怎么做才能限制请求数量?
我正在寻找的是在基于网络的聊天框背后编写软件的一个很好的计划,这是非常有效的资源和灵活性。我相信我们已经在SO上为我们已有的聊天室做了一些整洁的事情。
答案 0 :(得分:1)
你的问题是你时不时地进行民意调查。你真正想要的是与数据流连接的持续连接。
您可以尝试使用Comet方法 - 您可以保持打开的流式连接以发送聊天消息。
还有一个称为长轮询的技巧 - 在收到新消息之前保持连接打开,然后关闭它并开始新消息。