2

サーバーとの接続を開き、AS 3.0 のクライアント アプリ内から絶え間ない変更をリッスンする方法を理解する必要があります。

これは私の最初の投稿ですので、しばらくお待ちください。

現在取り組んでいるクライアントをマシンにインストールすることで、自宅から複数のプレーヤーが同時にプレイできる基本的にオンラインゲームを開発しようとしています。サーバーのセットアップに問題はありません。たとえば、要求されたときに XML を配信するようにセットアップされているためです (gamenumber、maxplayers、currentplayers)。クライアント開発には Adob​​e Air を選択しました。クライアントが PC で開かれると、サーバーに接続して上記の XML の例を取得し、それがメイン ウィンドウに表示されます。ここで質問があります... 2 人のプレーヤーがいて、それぞれが私の Web サイトに登録されている異なる場所にいるとします。プレーヤー1がアプリからゲームを選択して開き、プレーヤー2がそのゲームに参加すると、プレーヤー1のPCのクライアントが自動的に更新されるように、アプリはサーバーとどのように通信しますか...さらに、ゲームが開始されると、プレーヤー 1 がゲーム内で何らかのアクションを実行 (何らかのボタンを押す) すると、プレーヤー 2 はそれを確認します。たとえば、クライアントが「n」秒ごとにサーバーからゲームステータスを要求するようにするために、タイマーまたはポーリング間隔を使用できることはわかっていますが、より流動的なソリューションを探しています。たとえば、アプリがサーバーの変更を常にリッスンするようにします。アプリに node.js を実装するようなもの (ばかげた考えかもしれません)。限られた数の接続とデータサイズに関しては、ポーリングとタイミングはうまく機能しますが、数千以上の場合は、サーバーファームまたは別のソリューションが必要です. 何千もの接続があるとは思いませんが、アプリを開発していると、新しいアイデアが生まれるたびに、サーバーから取得する必要があるデータが増加することに気付きます。そう...何かアイデアはありますか?私'

4

1 に答える 1

0

さて、私は私の質問に対する答えを見つけましたが、正確な解決策ではありません. Air アプリとサーバー、および他のクライアントの間で双方向のオープン チャネルを維持するには、php、java、c++、python などで独自の XMLSocket サーバーを作成し、XMLSocket(); を使用する必要があります。Flex で機能します。ここで別の例を見つけることができました: http://www.kilometer0.com/blog/code/php-xml-socket-server/. 私のような幅広いプラットフォームを開発しようとしている人にとっては、まだ答えではありません.php XMLSockはまだ多くの接続を処理できません. さらに、読み続けていると、デスクトップアプリに従ってソケットサーバーを構築する必要があるため、平均的な http Web サイトよりも少し複雑であることがわかります。良い解決策は、C++ でソケット サーバーをコーディングすることです。これは、エラーを適切に処理でき、接続数が多いためです。すべてのポインタをありがとう。

于 2012-12-07T06:05:08.590 に答える