RU::12-Примеры::Движение одной переменной от клиента к серверу и от сервера к клиенту
Header: Движение одной переменной от клиента к серверу и от сервера к клиенту
====== Движение одной переменной от клиента к серверу и от сервера к клиенту ======
>> Хотелось бы понять движение одной переменной от клиента к серверу и от сервера к клиенту, какой обязательный код должен быть для стороны клиента, а так же для стороны сервера?
Вашу задачу можно поделить на 4 подзадачи.
- Отправить данные из javascript в php (к примеру если мы делаем интернет аукцион и кто то делает ставку или владелец изменяет цену)
- Обработать поступившие данные (к примеру сохранить их в бд)
- Отправить из php в javascript (Оповестить всех о изменении цены или любом другом событии)
- Принять данные в javascript которые мы отправили на шаге 3
1. Для первой задачи вам comet не понадобится. Тут достаточно использовать простой ajax запрос или самую простую форму отправки данных. Примеров в интернете много. Я когда-то давно использовал эту статью для обучения http://anton.shevchuk.name/javascript/jquery-for-beginners-ajax/, но можно найти много на эту тему.
2. Данные попали к вам на сервер. Вы как то их сохранили и что угодно с ними сделали. Все эти действия выполняются вами без использования comet сервиса.
3. И вот теперь вам надо оповестить всех остальных о том что цена товара изменилась. Вот тут в дело вступает комет сервер. Вы используя php api отправляете сообщение клиентам. [[comet:faq:send-message-to-pipe|Вот тут минимально рабочий пример по отправке данных из php]]
4. Принять данные в javascript которые мы отправили на шаге 3 На 3 шаге мы данные отправили из php, а теперь их надо принять в js Эта задача рассмотрена в этом примере
В 3 и 4 шагах есть такое понятие как канал. То есть мы из php отправляем данные в канал а в js принимаем данные из канала. Канал – это как бы такой именованный поток информации. И из js мы можем слушать несколько разных каналов. Все, кто слушает канал получают те сообщения, которые в него отправляются. Если рассматривать аукционы, то, наверное, удобно иметь для каждого отдельно проводимого аукциона свой канал. Чтобы из js было удобно наблюдать за несколькими товарами и за их ценой.