2010-11-19 19 views
0

PHPアプリケーションと通信するFlex/AIRアプリケーションがあります。最近私のクライアントは、現在のアプリケーションを置き換えるためにアプリケーション間のリアルタイムのような接続を要求しました。リフレッシュボタンは、データをリフレッシュするためにクリックする必要があります。PHPとFlexアプリケーション間のリアルタイム通信

何らかの変更があった場合でも、サーバーはクライアントにデータをプッシュする必要があります。何かが変わったときに検出するコードを書くことができますが、物事のプッシュサイドについてはわかりません。

私の最高のオプションは何ですか?

答えて

2

実際にサーバーからクライアントにデータをプッシュできます(これはhttpプロトコルをバイパスしていることを意味します)ソケットを使用できない場合はpolling, long polling or http streamingのようなものを使用できますが、すべてを手作業で行うには時間がかかりますので、looすでにこの機能を備えている製品での王。 WebOrb for PHPはその一つであり、私が知っているものは無料です。

2

私はフレックスデベロッパーではありませんので、この状況を助けるためのコードを提供するつもりはありませんが、これをどのように進めるかについてのいくつかのアイディアを提供することができます。

FlexにプッシュするPHPを探すのではなく、新しい出来事のためにPHPを常に調べるようにFlexコードを設定します。サーバーが十分に迅速に応答することが確認できれば、毎秒検証できます。代わりに、5秒間のプローブがまだリアルタイムです。

PHPがフレックスアプリケーションにデータを送り返している場合は、フレックスアプリでそのIDを使用して最後に返されたデータを知ることができるように、データとともにIDを送信するようにします。 PHPを検証するたびに、最後のIDを送信してください。そのIDの後に新しいDATAを送信するようにPHPに指示するだけです。多くの場合、プローブを行い、同じデータを何度も繰り返し受信し、データがすでに画面に表示されているかどうかを判断するための帯域幅と処理を無駄にするよりも優れています。

2

サーバーからクライアントにデータをプッシュすることはできません。これはウェブの本質だ:(

何がしなければならないことは継続的にクライアントからサーバーをポーリングして、何かが変更された場合。

を何かが、あなたが必要な行動を取ることができます変更されている場合はチェックしている。これは、どのようにgoogle/facebookと他の誰もがこれを行います。サーバーにデータがプッシュされたように見えますが、クライアントは内部的にサーバーをポーリングしています。

+0

Flashソケットはどうですか?サーバーのプッシュが可能です。 –

+0

良い点。しかし、XMLSocketオブジェクトと通信するためのサーバーの設定は難しいことがあります。あなたが本当に必要なのであれば、それを使うべきです。しかし、ポーリングは簡単な方法です。とにかくそれを指してくれてありがとう。 – Amila

関連する問題