Как использовать длительный опрос (желательно без кометы или node.js)?
Предположим, что я синхронизирую текст на HTML-странице, хранящейся в локальном хранилище, с компьютера A на компьютер B. Когда пользователь редактирует текст на компьютере A, я отправляю запрос на сервер и сообщаю ему, какой текст изменился. Есть ли какой-нибудь способ заставить сервер сообщить компьютеру B, что появился новый текст, без того, чтобы компьютеру B приходилось постоянно проверять? Я читал о Комете, но стараюсь не пользоваться никакими библиотеками. Есть ли способ? Кроме того, если вы собираетесь предложить Comet, не могли бы вы дать простой пример использования простого JavaScript и Comet?
У меня была идея, но я не знаю, сработает ли она. На компьютере B я отправляю запрос один раз и позволяю файлу сервера задерживать ответ до тех пор, пока не появится какой-нибудь новый текст. Таким образом, это было бы похоже на длительный опрос, но запрос в конечном итоге закончится. Если бы был способ установить время ожидания равным никогда, это было бы намного проще. Итак, у кого-нибудь есть какие-нибудь идеи?
P.S. - Я хочу использовать только JavaScript и PHP и стараюсь избегать использования библиотек. Еще, если вы знаете библиотеку, которая может сделать это с помощью JS и PHP, пожалуйста, все равно скажите мне.
Кроме того, я знаю, что были подобные вопросы, но ответы, которые я там нашел, не были удовлетворительными.
О, и если кто-нибудь знает, как работает этот чат, не могли бы вы рассказать мне и об этом?
Tl;dr: Я хочу отправить запрос с сервера на HTML-страницу или попросить HTML отправить один запрос, который сохраняется до тех пор, пока не будет создан соответствующий ответ.
1 answers
Comet - это реализация длительного опроса.
Проблема в том, что хост-машине необходимо сохранить все ресурсы, доступные для всех открытых запросов. Серверы должны быть тщательно настроены, чтобы обеспечить бесперебойную работу под нагрузкой. Это не решение "из коробки".
Еще один недостаток заключается в том, что каждый пользователь должен быть привязан к определенному серверу, поэтому нет простого способа балансировки нагрузки запросов.
Придерживаться периодического опроса часто является лучшим выбором.