У меня есть клиентские приложения Java и Flash. Как лучше всего общаться между собой без специальных серверов для Flash, таких как BlazeDS или Red5? Я ищу легкое решение только для клиента.
Взаимодействие между Java и Flash без специального сервера Flash
Ответы (5)
Что ж, вы можете отправлять http-запросы из флэш-памяти на любой URL-адрес... поэтому, если ваш java-сервер имеет точку, где он может прослушивать входящие запросы и обрабатывать XML или JSON, ваш флэш-клиент может просто сделать запрос на этот URL-адрес. BlazeDS и Red5 просто стремятся упростить его, обрабатывая перевод для вас, что позволяет прозрачно вызывать функции на стороне сервера.
Они работают в браузере (апплет и SWF) или это отдельные приложения?
Если они работают в браузере, вы можете использовать javascript. И Flash, и Java могут получить доступ к javascript. Он хрупкий, но работает.
Если они работают как настоящие приложения, вы можете заставить Java открыть сокетное соединение на каком-то порту. Затем Flash может подключиться к этому, и они могут отправлять XML-данные туда и обратно.
Я сделал оба из них, поэтому я знаю, что они оба работают. С javascript все в порядке, но с сокетами все в порядке.
WebORB для Java может вам помочь. Он интегрируется с вашим кодом J2EE.
Для получения дополнительной информации: http://www.themidnightcoders.com/weborb/java/
Извините, я перечитал ваш вопрос, что вы ищете только решение на стороне клиента. В этом случае WebORB вам не поможет. Извините за недопонимание.
Существует Flash-реализация протокола веб-сервиса Hessian Caucho. Этот подход похож на использование JSon или XML, но более эффективен, поскольку Hessian является бинарным протоколом. Если вы используете Spring на своем сервере, вы можете использовать привязку Spring/Hessian для вызова сервисов Spring непосредственно из вашего приложения Flash с минимальными усилиями.
Merapi API моста
Merapi позволяет разработчикам подключать приложения Adobe AIR, написанные в Adobe Flex, к приложениям Java, работающим на локальном компьютере пользователя.