<分区>
我将要编写一个基于 ajax 的聊天。 刷新聊天框的最佳方法是什么?我知道可能性很小,但哪种最适合聊天?
附加: 是否可以只重新加载未读文本?如果有人写了一篇文章,则不必刷新整个内容。新消息就足够了。但是用ajax和php可以吗?我不知道该怎么做。所以我什至会感谢小费...... 谢谢!
<分区>
我将要编写一个基于 ajax 的聊天。 刷新聊天框的最佳方法是什么?我知道可能性很小,但哪种最适合聊天?
附加: 是否可以只重新加载未读文本?如果有人写了一篇文章,则不必刷新整个内容。新消息就足够了。但是用ajax和php可以吗?我不知道该怎么做。所以我什至会感谢小费...... 谢谢!
最佳答案
刷新的频率和刷新内容的范围是独立的。使用 AJAX,您可以询问服务器是否有任何新消息到达(基于时间戳),并且仅将那些附加到已经显示的内容,您不必重新加载整个页面。
至于“定期刷新”的事情:您可以进行短轮询或长轮询。我认为“定期刷新”可能指的是短轮询。这基本上是一个计时器,例如JavaScript 每秒轮询服务器是否有任何新数据要显示。如果是,则发送它,否则回复一条消息,表明没有新内容。
在长轮询中,服务器被轮询,如果有新内容则提供新内容。但是,如果没有新内容,则不会立即回答“没有新内容”,而是保持连接打开,并在有内容要发送时回答。这可以通过几种不同的方式实现,理论上可以提供更好的响应时间,但在实践中,如果以某种方式实现,它可能会导致超时或服务器上的大量资源使用。
您可以在此处查看长轮询示例:http://www.screenr.com/SNH
关于php - 没有定期刷新的 AJAX 聊天?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16070804/