Apollo Online e Offline

Hey mey friend, todo domingão eu constumo dar uma estudada, então logo o assunto deste domingo foi sobre a API do Apollo que detecta a conexão de rede, se tem a comunicação com um servidor tal faz tal, se não tem então avisa que caiu a conexão e começa a trabalhar offline ;-) É isso já é verdade, funciona no Apollo perfeitamente.

Eu criei um Widget para Ruby on BR, totalmente feito com o Apollo, ele lista os assuntos do fórum Ruby on Br e permite fazer pesquisas diretamente do seu desktop e detecta se há a conexão de rede, o código que detecta é bem simples veja:

Primeiramente eu adiciono um evento assim que a aplicação é iniciada

Shell.shell.addEventListener(Event.NETWORK_CHANGE,onNetworkChange);
testConnection();

Em seguinda eu passo esta função para o Listener, que chama a outra função que recebe com quem se deve realizar a conexão para realizar o teste.

public function onNetworkChange(networkChangeEvent:Event):void{
testConnection();
}
public function testConnection():void{
var headRequest:URLRequest = new URLRequest();
headRequest.method = “HEAD”;
headRequest.url = “http://forum.rubyonbr.org/”;
var response:URLLoader = new URLLoader(headRequest);
response.addEventListener(HTTPStatusEvent.HTTP_STATUS,statusChanged);
response.addEventListener(IOErrorEvent.IO_ERROR,error);
}

E por fim a função que compara e faz o que tem que fazer.

public function statusChanged(status:HTTPStatusEvent):void{
if(status.status == 0){
// Faça algo aqui por não há uma conexão..
} else {
// Faça algo aqui por há uma conexão bem sucedida…
}
}

Fácil e indolor, a API flash.net.URLRequest sempre testa a conexão com o servidor,com este recurso fica fácil trabalhar offline colocando os dados serializados em um arquivo.

Já já eu coloco o Ruby on BR Widgets para download, assim vocês conhecem e fazem alguns testes ;-)

Grande abraço e até a próxima.

  1. No comments yet.
  1. No trackbacks yet.