我将要写一个基于ajax的聊天。刷新聊天框的最佳方式是什么?我知道可能性很小,但是哪一个最适合聊天呢?
附加:是否可以只重新加载未读文本?如果有人写了一个文本,刷新整个content.The是不必要的,新消息就足够了。但是用ajax和php能做到吗?我不知道怎么能做到这一点。所以我会很庆幸有个tipp ...谢谢!
发布于 2013-04-18 06:37:57
刷新的频率和要刷新的内容的范围是独立的。使用AJAX,您可以询问服务器是否有新消息到达(基于时间戳),并且只将这些消息附加到已显示的内容中,而不必重新加载整个页面。
至于“定期刷新”的事情:你可以选择短轮询或长轮询。我认为所谓的“定期刷新”可能指的是短轮询。这基本上是一个计时器,例如,在JavaScript轮询服务器的每一秒中,是否有任何新的数据要显示。如果是,它发送它,否则回复一条消息,指示没有新的内容。
在长时间轮询时,服务器会被轮询,如果有新内容,它会给出新内容。但是,如果没有新内容,则不是立即回答“没有新内容”,而是保持连接打开,并在有要发送的内容时进行应答。这可以通过几种不同的方式实现,理论上可以提供更好的响应时间,但在实践中,如果以某种方式实现,可能会导致超时或服务器上的大量资源使用。
您可以在这里看到一个很长的轮询示例:http://www.screenr.com/SNH
https://stackoverflow.com/questions/16070804
复制相似问题