2013-03-03 1 views
2

все. У меня есть сайт с небольшим чатом, и мои пользователи все чаще едят свою пропускную способность, и после того, как искали какое-то чудо, я, наконец, тупик на что-то сексуальное :) называется, Long Polling от того, что я понимаю,Что представляет собой длинный сценарий опроса, и как его реализовать,

- это простой способ, который должен поддерживать соединение betwe en сервер/клиент UN-interapted в течение более длительного периода времени, а при выполнении уменьшает потребность в продолжении запросов на 90%.

Теперь я могу ошибаться. но, как создается эта «простая» вещь. Ниже вы можете увидеть мой скрипт чата, который я создал из учебника, используя JQuery. Он отлично работает, но он не имеет возможности для многопоточности.

Вот код PHP и Javascript (я не могу вставить их здесь, так как они слишком длинны).

Теперь вопрос заключается в том, как я вставляю сценарий длительного опроса в мои уже построенные коды?

ответ

1

Я не читал ваш код, но вот маленький пример:

function waitForNotification() { 
    $.ajax(url, { 
     timeout: 60000, 
     success: function(e) { 
      //do want you want with e 
      //and call function again: 
      waitForNotification(); 
     } 
    }); 
} 

На стороне сервера, вам необходимо собрать все Аякса (на url) запросов и освободить ответ только тогда, когда новое сообщение опубликовано. Очевидно, что метод на стороне сервера сложнее реализовать и полностью зависит от архитектуры вашего сервера (вы можете использовать реализацию COMET).

Если вы его реализуете самостоятельно, будьте осторожны, на самом деле может появиться новое сообщение m, когда клиент обрабатывает событие success (и пропускает уведомление m).

Настройте свой запрос ajax, как вам угодно (обрабатывайте другие события).

Интересно:

Смежные вопросы