Может ли кто-нибудь дать мне хороший и простой пример техники комет с использованием PHP?
Мне просто нужен пример, который использует постоянное HTTP-соединение или что-то подобное. Я не хочу использовать технику опроса, потому что у меня есть что-то вроде этого, и не только трудно работать и управлять своим большим количеством ресурсов. Также я использую IIS7, а не Apache.
Хороший пример был бы очень полезен, поэтому я мог бы перейти от этой уродливой техники опроса.
Вы должны использовать опрос или использовать веб-сервер, который специально разработан для длинных запросов и COMET, с хорошим JS-сервером:
function listen() { $.get("/mylongrequestfile", {}, function(data) { $("#mydiv").html(data); listen(); // then launch again })); };
Помните, что COMET «ждет данных, если есть возврат и выход данных», поэтому сервер JS должен будет анализировать данные и повторно запускать процесс запроса на сервер.
В этом примере, если есть проблема на стороне сервера или просто отключение от пользователя, весь процесс будет нарушен (функция вызывается только в том случае, если запрос успешный)
Проверьте это: Как реализовать COMET с PHP .
Это не использует JQuery. Он создается с использованием PHP и Prototype. Это очень легко понять. Я думаю, вы можете легко создать сценарий JQuery после просмотра этого.
Я рекомендую вам посмотреть это видео http://www.screenr.com/SNH
У меня есть очень простой пример, который поможет вам начать с кометы. Он охватывает сбор Nginx с модулем NHPM и включает код для простых ролей издателя / подписчика в jQuery, PHP и Bash.
http://blog.jamieisaacs.com/2010/08/27/comet-with-nginx-and-jquery/
Рабочий пример (простой чат) можно найти здесь:
http://cheetah.jamieisaacs.com/
Никогда не используя эту технику и не изучая статью в Википедии по теме, «Long Polling» кажется единственным жизнеспособным решением. Это звучит довольно просто для реализации путем бесконечного цикла и спящего сценария на сервере. На странице HTTP Streaming есть определенный код, связанный с статьей Википедии.
Вы пробовали все это и наткнулись на конкретные проблемы?
Просмотрите это демо-видео для внедрения Long Polling (комета) .. Это может помочь вам всем
Вы можете взглянуть на эту статью , это действительно хорошее начало для понимания концепций программирования комет.
На нем вы найдете два примера. Первый использует метод iframe, тогда как второй использует постоянное соединение.
Для IIS существует WebSync . Однако, поскольку вы используете PHP, вам может быть лучше с WebSync On-Demand . Любой из них даст вам доступ к серверу, который вы ищете, и прост в использовании. Посмотрите также этот квест, а это, в основном, то, что вам нужно.
Вот простой пример использования WebSync On-Demand в действии без использования языка сценариев. Просто откройте в двух окнах и посмотрите публикацию / подписку в действии.
Для публикации с сервера вы можете использовать PHP api .