这是自动刷新聊天页面的最佳方式

时间:2010-09-24 21:30:50

标签: .net refresh chat livechat

我可以轻松地每隔10秒使用javascript自动刷新页面,但是,这不会超载页面,每10个secons要求更改一次吗?有没有更有效的方法来做到这一点。有些机构告诉我一次,有一种方法让客户端等待来自服务器的响应,只有当它真的有一些变化时才发送它,例如一些budy在聊天中写了一个文本。这真的很容易吗?有更好的方法吗?。

3 个答案:

答案 0 :(得分:0)

为什么刷新聊天页面?为什么不检查服务器以查看是否有新的帖子/聊天等。如果是这样,请将它们附加到聊天框中。

让你的计时器(setTimeOut)开火说5秒钟:

快速伪代码:

function updateChat()
{
  //Query a web service on the server for new text chat
  //If successful append the chat to the chat area

  //Call timeout again.
  setTimeout(updateChat, 500);
}

编辑: 看到你有.NET我会假设你正在使用ASP.NET。这是演示聊天程序的链接:

http://trappedinhoth.blogspot.com/2009/04/ajax-jquery-chat-demo.html

答案 1 :(得分:0)

您可以在服务器端应用outputcache。这样,服务器每10秒钟只需生成1个答案

答案 2 :(得分:0)

您可以尝试在JavaScript中使用新的WebSockets技术。许多浏览器不支持它(目前仅支持Firefox 4,Chrome 4和Safari 5),但它允许与服务器的连接保持“打开”,然后服务器可以向客户端发送消息。更多信息: