2013-07-12 3 views
0

Я пытаюсь создать систему уведомлений для приложения PHP. Каждый раз, когда вы заказываете бронирование, нам нужно, чтобы уведомление появилось в указанном типе учетной записи пользователя внутри приложения.Отправить данные между PHP и jQuery

Я использую CodeIgniter 2 на виртуальном выделенном узле, поэтому у меня будет возможность запросить установку того, что требуется для выполнения работы.

До сих пор я знаю, что PHP обладает ограниченными полномочиями в отношении того, как может запускать jQuery, поскольку он ограничен веб-браузером. Я знаю, что Node.js и Socket.io могут делать то, что я хочу, но как это повлияет на PHP, если вообще?

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

Я провел пару дней, обдумывая этот вопрос, так как я только справляюсь с jQuery, хотя я почти ничего не знаю о Node.js или Socket.io, или о том, что они могут и не могут сделать , или, как упоминалось ранее, как они связаны с PHP.

Любые советы приветствуются.

+0

Самым простым решением было бы просто иметь Ajax-вызов Собирается каждые 10, 20 секунд, что checkes для новых уведомлений. Сокеты с PHP - это ... хмммм, боль. – OptimusCrime

ответ

2

С помощью методов методов push в реальном времени сервер передает данные клиентам (абонентам каналов) всякий раз, когда на сервере происходит событие. Этот метод продвинут, чем метод pull, такой как опрос и т. Д., И это будет живое общение (т. Е. Клиент получает прямые обновления с сервера без каких-либо затрат времени. В методе pull есть промежуток времени между каждым запросом). Примеры реального времени методы толкающих: Faye, pusher, socket.io, slanger

Большинство методов кнопочных реального времени построены на рубин или nodejs. Поэтому, если вы хотите настроить свой сервер реального времени, вы должны настроить их на своем сервере (возможно, ruby ​​или nodejs), и вы можете общаться с этим сервером с php с помощью curl-операторов. Также существуют библиотеки php для этих операций.

Если вы хотите настроить slanger, тогда вы можете использовать сам толкатель php library (возможно, вам нужно немного его изменить, чтобы использовать его с помощью slanger). И если вам нравится использовать faye, то здесь есть php-библиотека, написанная мной: faye php wrapper

+0

Хариш, хотя я не сомневаюсь в твоем совете, я не знаю, с чего начать. Есть ли у вас какие-либо предложения в этом отношении? –

+0

Вы можете использовать услуги реального времени, предоставляемые поставщиками, такими как pusher.com (или см. Здесь http://www.quora.com/What-are-alternatives-to-pusher-com), или вы можете настроить свое время в реальном времени сервер. Каким образом вы хотели бы пойти? –

+0

Я бы предпочел свой собственный сервер в реальном времени, поэтому у нас есть полный контроль. –

0

Вы можете хранить уведомления в базе данных с соответствующей меткой времени. Затем используйте длинный пул для получения сообщений в jQuery, который вызывает PHP для уведомлений.

Прохладный пример был дан в этом anwser: How do I implement basic "Long Polling"?

Смежные вопросы