Java および Flash クライアント アプリケーションがあります。BlazeDS や Red5 などの特別な Flash 固有のサーバーを使用せずに 2 人が通信するための最良の方法は何ですか? 軽いクライアントのみのソリューションを探しています。
5 に答える
ええと、フラッシュから任意の URL への http リクエストを作成できます...したがって、Java サーバーに受信リクエストをリッスンして XML または JSON を処理できるポイントがある場合、フラッシュ クライアントはその URL へのリクエストを作成できます。BlazeDS と Red5 は、サーバー側の関数を透過的に呼び出すことを可能にする変換を処理することで、単純化することを目的としています。
それらはブラウザー (アプレットと SWF) で実行されていますか、それともスタンドアロン アプリですか?
ブラウザで実行している場合は、javascript を使用できます。Flash と Java の両方が javascript にアクセスできます。壊れやすいですが、機能します。
それらが実際のアプリケーションとして実行されている場合は、Java にいくつかのポートでソケット接続を開くことができます。その後、Flash はそれに接続し、XML データを送受信できます。
私はこれらの両方を行ったので、両方が機能することを知っています。JavaScript は壊れやすいですが、ソケットの機能はうまく機能しています。
メラピブリッジ API
Merapi を使用すると、開発者は、Adobe Flex で記述された Adobe AIR アプリケーションを、ユーザーのローカル コンピューターで実行されている Java アプリケーションに接続できます。
WebORB for Java が役に立つかもしれません。J2EE コードと統合します。
詳細情報: http://www.themidnightcoders.com/weborb/java/
申し訳ありませんが、クライアント側のソリューションのみを探しているという質問を読み直しました。この場合、WebORB は役に立ちません。誤解して申し訳ありません。
Caucho のHessian Web サービス プロトコルの Flash 実装があります。このアプローチは、JSON または XML を使用する場合と似ていますが、ヘッセ行列はバイナリ プロトコルであるため、パフォーマンスが向上します。サーバーで Spring を使用している場合は、Spring/Hessian バインディングを使用して、最小限の作業で Flash アプリケーションから Spring サービスを直接呼び出すことができます。