Связь в реальном времени между PHP и Flex-приложением - PullRequest
0 голосов
/ 19 ноября 2010

У меня есть приложение Flex / AIR, связывающееся с приложением сервера PHP. Недавно мой клиент запросил соединение в режиме реального времени между приложениями, чтобы заменить то, что у нас сейчас есть; кнопки обновления, по которым нужно обновить данные.

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

Какой мой лучший вариант здесь?

Ответы [ 4 ]

2 голосов
/ 19 ноября 2010

Вы не можете передавать данные с сервера на клиент.Такова природа сети: (*

Вам нужно постоянно опрашивать сервер с клиента и проверять, изменилось ли что-либо.

Если что-то изменилось, вы можете принятьЭто то, как это делают Google / Facebook и все остальные. Для пользователя это выглядит так, как будто сервер отправил данные, но внутренне клиент продолжает опрашивать сервер.

2 голосов
/ 19 ноября 2010

На самом деле вы можете передавать данные с сервера на клиент при использовании флэш-сокетов (что означает обход протокола http).Если вы не можете использовать сокеты, вы можете использовать такие вещи, как опрос, длинный опрос или потоковую передачу http .Однако, чтобы сделать все вручную, потребуется некоторое время, поэтому я предлагаю взглянуть на продукт, который уже обладает этими функциями.WebOrb для PHP является одним из них, и, насколько я знаю, это бесплатно.

2 голосов
/ 19 ноября 2010

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

Вместо того, чтобы искать PHP для продвижения во Flex, я бы настроил ваш Flex-код, чтобы постоянно проверять PHP на наличие новых событий. Вы можете проверять каждую секунду, если вы уверены, что сервер ответит достаточно быстро. В качестве альтернативы то, что проверяет каждые 5 секунд, все равно будет в реальном времени.

Если PHP отправляет DATA обратно в ваше flex-приложение, я бы позаботился о том, чтобы он отправлял идентификаторы с данными, чтобы вы могли использовать этот ID в вашем flex-приложении, чтобы узнать, какие были возвращены последние данные. Каждый раз, когда вы проверяете PHP, отправляете последний полученный вами идентификатор таким образом, сообщая PHP только об отправке новых данных после этого идентификатора. Много раз вы будете проверять, и ничего не будет возвращено, но это лучше, чем получать одни и те же данные снова и снова и тратить пропускную способность, а процессы выясняют, отображаются ли эти данные на экране.

1 голос
/ 20 ноября 2010

Эта статья может стать отправной точкой для вас. Связь с Flex и PHP через сокеты

...