Comunidad de diseño web y desarrollo en internet online

Como detectar conexion de internet flash cs3 as3

Citar            
MensajeEscrito el 23 Jul 2008 10:47 am
¿Alguien sabe como detectar si la computadora donde se ejectua el archivo flash tiene conexion o no a internet???

Es para mostrar o no un boton en el flash.
Estoy utilizando AS3.

Por sishco

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Jul 2008 11:58 am
Haces un loadMovie (en AS3, Loader.load) a tu dominio preferido con un timeOut razonable (digamos 10 segundos para una imagen de menos de 1 kb) Si carga, tienes conexión, sino dile que se conecte

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 11:58 am
No tengo a mano el Help de AS3, pero posiblemente haya un callback para eso en el objeto Loader, dale un repaso

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Jul 2008 12:44 pm
Lo del loader ya lo habia probado, pero el problema es que no consigo controlar el error que da cuando no encuentra conexion y siempre me sale en la pantalla de errores de salida

Código :

import flash.display.Loader;
import flash.events.IOErrorEvent;
import flash.errors.IOError;

var ldr:Loader;
var img_url:String = "http://www.sopadeciencias.es/images/image41.jpg";
ldr = new Loader();
ldr.addEventListener(IOErrorEvent.IO_ERROR,ioerror );
try {
   ldr.load(new URLRequest(img_url));
} catch (e:IOError) {
   trace("Error.x.x.x.x.");
}
addChild(ldr);


function ioerror(e:IOErrorEvent):void {
   trace("Error...........................");
}


Lo necesito para poner o no un boton que me carga un movieclip con un umap, que necesita conexion.

Por sishco

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Jul 2008 12:58 pm
No uses un try/catch, sino evitas que se dispare el callback ioerror

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Jul 2008 06:12 am
Nada, imposible.
Os pongo el codigo que utilizo:

Código :

import flash.display.Loader;
import flash.events.IOErrorEvent;
import flash.errors.IOError;

var ldr:Loader;
var img_url:String = "http://www.sopadeciencias.es/images/imagen41.jpg";
ldr = new Loader();
ldr.addEventListener(IOErrorEvent.IO_ERROR,ioerror );

ldr.load(new URLRequest(img_url));

addChild(ldr);


function ioerror(e:IOErrorEvent):void {
   trace("Error...........................");
}


el resultado que me da en salida es este:

Código :

Error al abrir la URL 'http://www.sopadeciencias.es/image/imagen41.jpg'
Error #2044: IOErrorEvent no controlado: text=Error #2035: No se encuentra la dirección URL.

Se tiene que poder detectar si hay o no conexion digo yo, no es una cosa tan extraña, no??

Por sishco

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 Jul 2008 09:25 am
Eso es más o menos lo que quiere decir cuando pone: "No se encuentra la dirección URL" (usa una que sepas que existe positivamente)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 28 Jul 2008 10:32 am
ya, pero lo que yo quiero es controlar el error aunque no exista conexion a internet o la dirreccion sea erronea, por que queda un poco mal que se habra el cuadro de error en ejecucion cuando estas con el flash cargado ya.
lo que quiero es que no me salga el error, controlarle y hacer con el lo que quiera, y lo que quiero hacer es no mostrarle.

Por sishco

5 de clabLevel



 

msie7
Citar            
MensajeEscrito el 28 Jul 2008 10:39 am
Creo que es el HTTPStatusEvent, pero se lo tienes que agregar al Loader.contentLoaderInfo, te pego el ejemplo de la ayuda:

Código :

package {
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.net.URLRequest;

    public class LoaderExample extends Sprite {
        private var url:String = "Image.gif";

        public function LoaderExample() {
            var loader:Loader = new Loader();
            configureListeners(loader.contentLoaderInfo);
            loader.addEventListener(MouseEvent.CLICK, clickHandler);

            var request:URLRequest = new URLRequest(url);
            loader.load(request);

            addChild(loader);
        }

        private function configureListeners(dispatcher:IEventDispatcher):void {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
            dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
            dispatcher.addEventListener(Event.INIT, initHandler);
            dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            dispatcher.addEventListener(Event.OPEN, openHandler);
            dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            dispatcher.addEventListener(Event.UNLOAD, unLoadHandler);
        }

        private function completeHandler(event:Event):void {
            trace("completeHandler: " + event);
        }

        private function httpStatusHandler(event:HTTPStatusEvent):void {
            trace("httpStatusHandler: " + event);
        }

        private function initHandler(event:Event):void {
            trace("initHandler: " + event);
        }

        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }

        private function openHandler(event:Event):void {
            trace("openHandler: " + event);
        }

        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal);
        }

        private function unLoadHandler(event:Event):void {
            trace("unLoadHandler: " + event);
        }

        private function clickHandler(event:MouseEvent):void {
            trace("clickHandler: " + event);
            var loader:Loader = Loader(event.target);
            loader.unload();
        }
    }
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.