2

バックエンド サーバーに接続してデータを交換する Flash (Flex) クライアントを作成しました。

また、サーバーをゼロから作成しました。これには次の 2 つの目的があります。

(1) Web (HTTP) サーバー - デフォルトでは、ポート 80 でリッスンします。

(2) Socket/Application- Server - デフォルトでは、ポート 443 でリッスンします。

参考までに、便宜上の理由から、両方のサーバーが同じプロセス空間で実行されます。大量の負荷を処理することは想定されていないので、それで問題ありません。

Flash クライアントが HTTP ソケットからブラウザーに提供されるとすぐに、クライアントはソケット/アプリケーション サーバーに対して XMLSocket を開こうとします。

ユーザーがファイアウォールの内側にいても、クライアントがアプリケーション サーバーに接続できるように、HTTP トンネリングを実装したいと考えています。外部サーバー (プロキシなど) を使用したくありません。既存のサーバーを使用するだけです。

私の質問:

(1) それにはポート 443 を使用した方が良いですか? (ファイアウォールをだますほうがいいですか?)

(2)私が知る限り、私がしなければならないことは、クライアント側とサーバー側の両方から、実際のアプリケーションデータがHTTP構造(ダミーのHTTPヘッダーが前にある)に単純にカプセル化されていることを確認することです. そうですか、それともここで何か不足していますか?

(3) ソケットを介して送信するすべてのメッセージを非表示/カプセル化する必要がありますか?それとも、接続を開くときに最初のメッセージをカプセル化できますか?

よろしくお願いします!ファズ

4

1 に答える 1

4

車輪を再発明しないでください - AMF プロトコル経由のリモート処理を使用してください。AMF は、ActionScript (MXML) とサーバー側言語の間でシリアル化を実行する HTTP ベースのバイナリ形式です。技術的には、これは HTTP トンネリングです。Adobe は、AS/Java 用の AMF の BlazeDS (オープンソース) および LCDS (商用) 実装を提供していますが、AS/PHP、AS/Python、AS/Ruby、AS/.Net 用の AMF のサードパーティ実装があります。

ところで、AMF はオープン ソース形式です。

于 2009-07-26T13:06:53.733 に答える