2010-11-19 4 views
0

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

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

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

ответ

2

Фактически вы можете передавать данные с сервера клиенту при использовании сокетов Flash (что означает обход протокола http). Если вы не можете использовать сокеты, вы можете использовать такие вещи, как polling, long polling or http streaming. Однако для выполнения всего этого потребуется некоторое время, поэтому я предлагаю loo король в продукте, который уже имеет эти функции. WebOrb для PHP является одним из них, и из того, что я знаю, является бесплатным.

2

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

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

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

2

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

То, что вы должны сделать, это постоянно опрашивать сервер от клиента и проверить, если что-то изменилось.

Если что-то изменилось, то вы можете принять необходимые меры. Это как google/facebook и все остальные делают это. Пользователю это похоже на то, что сервер подтолкнул данные, но внутренне клиент продолжает опрос сервера.

+0

Что относительно вспышки? Он позволяет нажимать сервер. –

+0

Хорошая точка. Но сам adobe говорит, что настройка сервера для связи с объектом XMLSocket может быть сложной задачей. Поэтому вы должны использовать его, если он вам действительно нужен. Но опрос - простой метод. В любом случае спасибо за указание, что один из них. – Amila

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