1

例如,我可以轻松地使用 javascript 每 10 秒自动刷新一次页面,但这不会使页面超载,必须每 10 秒要求任何更改?有没有更有效的方法来做到这一点。有人告诉我一次,有一种方法可以让客户端等待来自服务器的响应,只有在它确实有一些变化时才发送它,例如,一些伙伴在聊天中写了一条文本。这真的可行吗?有没有更好的办法?。

4

3 回答 3

0

您可以在服务器端应用输出缓存。这样,服务器每 10 秒只需要生成 1 个答案

于 2010-09-24T21:40:43.083 回答
0

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

于 2010-09-24T21:42:23.270 回答
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

于 2010-09-24T21:34:24.290 回答