2

タイトルの通り、指定したサイトに到達できない場合に をair.net.URLMonitor発送しないことがあります。StatusEvent

私のコードをお見せしましょう:

_serverURL = "http://192.168.0.20:8080/"
_monitor = new URLMonitor(new URLRequest(_serverURL));
_monitor.pollInterval = 1000;
_monitor.addEventListener(StatusEvent.STATUS, serverStatusResult);
_monitor.start();

iPad(これはモバイルAIRアプリケーションです)が正しいネットワークにある場合、指定されたサーバーが利用可能な場合、StatusEventが正しくディスパッチされます。私がそのネットワークに参加していないときは、何も起こらず、その理由が本当にわかりません。とにかくイベントをディスパッチするべきではありませんか?

これは孤立した問題ではありません。実稼働環境のサーバーが更新されてオンラインでない場合、同じ問題が発生しますが、iPad がオフライン モードで、そのためにサーバーにアクセスできない場合、StatusEvent火災が発生します。

それについて合理的な説明はありますか?もしそうなら、どうすればこれを正しく実装できますか?

代わりに標準を使用してHTTPService、単に ResultEvent と FaultEvent をリッスンする必要がありますか?

いつものように、どんな助けでも大歓迎です!乾杯。

4

2 に答える 2

0

serverStatusResult 関数には何がありますか?

何かのようなもの:

public function serverStatusResult(e:StatusEvent):void {

if (! monitor.available) {

//connection has dropped so do something

}

}

また、ポーリング間隔を設定すると、iPad の CPU 使用率に非常に悪影響を及ぼすこともわかりました。

于 2012-12-07T09:44:19.543 に答える