Какой самый лучший способ автоматически обновить страницу чата - PullRequest
1 голос
/ 25 сентября 2010

Я могу легко использовать javascript для автоматического обновления страницы, например, каждые 10 секунд, но разве это не приведет к перегрузке страницы, требующей каких-либо изменений каждые 10 секунд?Есть ли более эффективный способ сделать это.Кто-то однажды сказал мне, что есть способ, когда клиентская сторона ожидает ответа от сервера, который отправляет его только тогда, когда действительно есть какие-то изменения, например, какой-то друг написал текст в чате.Это действительно легко сделать?есть ли лучший способ?

Ответы [ 3 ]

0 голосов
/ 25 сентября 2010

Вы можете применить кэш вывода на стороне сервера. Таким образом, серверу нужно только генерировать 1 ответ за каждые 10 секунд

0 голосов
/ 25 сентября 2010

Вы можете попробовать использовать новую технологию WebSockets в JavaScript. Он не поддерживается во многих браузерах (в настоящее время его поддерживают только Firefox 4, Chrome 4 и Safari 5), но он позволяет соединению с сервером оставаться «открытым», после чего сервер может отправить сообщение клиенту. Дополнительная информация:

0 голосов
/ 25 сентября 2010

Зачем обновлять страницу чата?Почему бы просто не проверить сервер, чтобы увидеть, есть ли новые сообщения / чаты и т. Д. Если так, добавьте их в окно чата.

Пусть ваш таймер (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

...