Как использовать длинный опрос (желательно без Comet или node.js)? - PullRequest
6 голосов
/ 05 августа 2011

Предположим, я синхронизирую текст на странице HTML, хранящейся в localStorage, с компьютера A на компьютер B. Когда пользователь редактирует текст на компьютере A, я отправляю запрос на сервер и сообщаю ему, какой текст изменился. Могу ли я заставить сервер сообщить компьютеру B, что появился новый текст, без необходимости проверки компьютера B? Я читал о комете, но я стараюсь не использовать какие-либо библиотеки. Есть ли способ? Кроме того, если вы собираетесь предложить Comet, не могли бы вы привести простой пример с использованием простого JavaScript и Comet?

У меня была идея, но я не знаю, сработает ли она. На компьютере B я отправляю запрос один раз и позволяю файлу сервера откладывать ответ до появления нового текста. Таким образом, это будет похоже на длительный опрос, но запрос в конечном итоге прекратится. Если бы был способ установить тайм-аут никогда, это стало бы намного проще. Итак, у кого-нибудь есть идеи?

P.S. - Я хочу использовать только JavaScript и PHP и стараюсь избегать использования библиотек. Тем не менее, если вы знаете библиотеку, которая может делать это с JS и PHP, пожалуйста, скажите мне в любом случае.

Кроме того, я знаю, что были такие вопросы, но ответы, которые я нашел там, не были удовлетворительными.

О, и если кто-нибудь знает, как здесь работает чат, не могли бы вы сказать мне об этом?

tl; dr: Я хочу отправить запрос с сервера на страницу HTML или сделать так, чтобы HTML отправлял один запрос, который сохраняется до тех пор, пока не будет создан соответствующий ответ.

1 Ответ

2 голосов
/ 05 августа 2011

Comet - это реализация длинного опроса.

Проблема заключается в том, что хост-машине требуется, чтобы все ресурсы были доступны для всех открытых запросов.Серверы должны быть тщательно настроены, чтобы обеспечить бесперебойную работу под нагрузкой.Это не «готовое» решение.

Еще один недостаток - каждый пользователь должен быть привязан к определенному серверу, поэтому нет простого способа балансировать запросы.

ПридерживатьсяПериодический опрос часто является лучшим выбором.

...