1

クイック イントロ: フラッシュ テトリス ゲームが完成しました。ゲームにマルチプレイヤー機能を追加しようとしています。フラッシュとソケットの機能に関する数日間の調査の後、私はさらに混乱してきました。簡単な免責事項、私はソケット/ネットワーク全般に不慣れです。

私がオンラインで収集した情報によると、一般的なフラッシュ tcp ソケットは、ポリシー システムが整っているため、ピア ツー ピア接続を処理できません。フラッシュで p2p を実行するには、RTMFP 対応サーバー (フラッシュ メディア サーバーなど) を使用して初期ハンドシェイクを処理する必要があり、そこからフラッシュは p2p 方式でデータを渡すことができます。

編集:質問の包括的な更新については、最初の回答を参照してください。

4

3 に答える 3

2

1) ソケット ポリシーについては、私の Perl スクリプトまたは Apache モジュールを使用します (どちらもうまく機能します): http://code.google.com/p/mod-socket-policy/ - ポート 843 に接続するクライアントにサービスを提供します。

しかし、ファイアウォール/プロキシの背後にある企業ユーザー (ポート 843 に接続できない) のため、これでは十分ではありません。そのため、独自のサーバー コードにもソケット ポリシー処理を追加する必要があります (つまり、着信<policy-file-request/> に応答します)。 \0件)。

2) RTMFP の場合 - 実行しないでください。

a) Cirrus はベータ版で商用目的ではないため、オプションではありません。また、FMS4では時代遅れのようですが、廃止されるまでどのくらいかかりますか?

b) Flash Media Server 4 オプションは非常に高価です。エンタープライズ バージョン (RTMFP に必要) の場合、アドビは価格を公表していません。あなたの唯一の選択肢は AWS の FMS4 ですが、それも高価です。

c) RTMFP 用の OSS プロジェクトがありますが、まだ準備ができていません: OpenRTMFP Cumulus

d) RTMFP が機能しないユーザーもいます

したがって、私の提案は、すべてのユーザーで機能する RTMP/RTMPT を使用することです。企業のものであり、そのために Red5 を使用します: http://red5.org/

于 2011-08-04T08:00:30.310 に答える
1

Red5 は RTMFP をサポートしていません。Adobe Web ページで入手できる Flash Media Server の価格。

于 2011-08-03T09:31:39.450 に答える
0

AdobeLabsにはCirrusと呼ばれるテクノロジーがあります。これは完全に無料で、最初のハンドシェイクを実行する通常のサーバー(php、ruby ...)以外に特別なサーバーを実行する必要はありません(通常のhttpリクエストで実行する必要があります)。

だから、もしあなたが元のために持っているなら。一緒にプレイしたい2人のプレイヤー、最初のプレイヤーはCirrus-idを取得し、それをサーバーに渡し、その値は「利用可能なプレイヤー」のバンクに保存されます。2番目のクライアントが接続すると、サーバーはバンクをチェックしてそのIDを2番目のプレーヤーに返します。その逆も同様です。最後に、2つのFlashPlayerクライアントがrtmfpを介して直接接続を確立します。それをすべてより詳細に説明する記事もあります。

于 2011-08-03T13:00:20.720 に答える