PHP, Apache, Mysql, HTML5 - получение изменений с сервера без их запроса (push) - PullRequest
1 голос
/ 17 августа 2011

Есть ли в HTML5 способ (возможно, websocket?) Настроить какой-либо механизм push-запросов для запросов ajax?Например, я хотел бы, чтобы мой вошедший в систему пользователь был уведомлен о том, что он получил новое сообщение, не посылая периодический запрос ajax на сервер, проверяя, действительно ли новое сообщение.

Сейчас я проверяю каждыйпару секунд и измените пользовательский интерфейс соответственно, если я получу число обратно, но для 10000 пользователей это имеет тенденцию становиться довольно требовательным на сервере с частыми обновлениями.

Если HTML5 не имеет встроенной способности обрабатывать это,Комета (http://www.zeitoun.net/articles/comet_and_php/start) лучший подход, чем периодические вызовы ajax?

1 Ответ

1 голос
/ 17 августа 2011

Комета сделана именно для этой цели, но Websockets в HTML5 предложит гораздо лучшую производительность.См. https://stackoverflow.com/questions/4262543/what-are-good-resources-for-learning-html-5-websockets

Однако Websockets пока не поддерживается в большинстве браузеров , поэтому вам понадобится библиотека, которая будет служить в качестве слоя абстракции между вашим приложением и конкретной поддерживаемой реализациейтекущим браузером (используя WebSockets, если они доступны, но при необходимости возвращаясь к длинному опросу, Flash-сокетам и т. д.).К счастью, существует множество подобных библиотек.

Чтобы найти подходящую реализацию для вашего приложения, вам следует взглянуть на Руководство по зрелости Comet * CometDaily .Однако там не упоминается о проекте APE (Ajax Push Engine) , который сейчас набирает обороты среди разработчиков веб-приложений.

...