Как выглядит сценарий длинного опроса и как его реализовать, [закрыто]


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

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

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

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

Теперь вопрос в том, как мне внедрить сценарий long poll в мои уже построенные коды?

1 2

1 ответ:

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

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

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

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

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

Интересно: