Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TestandoSistemas

[AS3] Socket e XMLSocket

Recommended Posts

Originalmente utilizei webservices para conectar meus SWFs AS2 a aplicações java, mas estou tentando migrar para o AS3 e acho que o melhor caminho que encontrei para conectar meus SWF's ao java seria utilizando a classe Socket ou XMLSocket do AS3.

Mas seguindo um exemplo do proprio site da adobe, apenas consigo que meu flash trave e feche.

 

Procurei então entender melhor como funciona essas classes de conexão para tentar solucionar meu problema ou dribla-lo pelo menos.

meu problema está no metodo Connect, quando tento fazer a conexão, simplesmente trava o flash, e no navegador não acontece absolutamente nada.

 

tanto a Socket quando a XMLSocket, o metodo connect segundo o editor, chama pelo connect da classe LocalConnection que pede um parametro "connectionName", mas quando compilo na verdade ele pede 2 parametros. O exemplo do site da adobe mostra esses 2 parametros como sendo "host" e "port". mas fazendo desse modo meu flash trava.

 

alguem tem algum exemplo mais completo, ou ainda sabe o motivo do meu flash travar apenas no metodo connect. Ou sugere uma forma melhor de conectar meu swf a uma aplicação java sem utlizar URLLoader ou coisa do genero?

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Originalmente utilizei webservices para conectar meus SWFs AS2 a aplicações java, mas estou tentando migrar para o AS3 e acho que o melhor caminho que encontrei para conectar meus SWF's ao java seria utilizando a classe Socket ou XMLSocket do AS3.

Mas seguindo um exemplo do proprio site da adobe, apenas consigo que meu flash trave e feche.

 

Procurei então entender melhor como funciona essas classes de conexão para tentar solucionar meu problema ou dribla-lo pelo menos.

meu problema está no metodo Connect, quando tento fazer a conexão, simplesmente trava o flash, e no navegador não acontece absolutamente nada.

 

tanto a Socket quando a XMLSocket, o metodo connect segundo o editor, chama pelo connect da classe LocalConnection que pede um parametro "connectionName", mas quando compilo na verdade ele pede 2 parametros. O exemplo do site da adobe mostra esses 2 parametros como sendo "host" e "port". mas fazendo desse modo meu flash trava.

 

alguem tem algum exemplo mais completo, ou ainda sabe o motivo do meu flash travar apenas no metodo connect. Ou sugere uma forma melhor de conectar meu swf a uma aplicação java sem utlizar URLLoader ou coisa do genero?

 

abraços

Fala cara beleza?

Seguinte são dois parametros mesmo o primeiro é o host(www.algumacoisa.com.br ou 192.168.254.xx) e o segundo é a porta só que a porta tem um porem precisa colocar portas acima de 1024, axo que ta travando por isso.

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala cara beleza?

Seguinte são dois parametros mesmo o primeiro é o host(www.algumacoisa.com.br ou 192.168.254.xx) e o segundo é a porta só que a porta tem um porem precisa colocar portas acima de 1024, axo que ta travando por isso.

abs

Vlw garoto, mas não é isso não, testei com as mais diferentes combinações, imaginando que tivesse lido errado ou algo assim, usei portas acima, abaixo, e a propria 1024. Quanto ao endereço, utilizei 127.0.0.1, mas trava, localhost dá um erro:

 

==============================================

Error #2044: Unhandled IOErrorEvent:. text=Error #2031: Socket Error.

at net_fla::MainTimeline/net_fla::frame1()

==============================================

 

e na net não encontrei muita coisa sobre esse erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala cara beleza?

Seguinte são dois parametros mesmo o primeiro é o host(www.algumacoisa.com.br ou 192.168.254.xx) e o segundo é a porta só que a porta tem um porem precisa colocar portas acima de 1024, axo que ta travando por isso.

abs

Vlw garoto, mas não é isso não, testei com as mais diferentes combinações, imaginando que tivesse lido errado ou algo assim, usei portas acima, abaixo, e a propria 1024. Quanto ao endereço, utilizei 127.0.0.1, mas trava, localhost dá um erro:

 

==============================================

Error #2044: Unhandled IOErrorEvent:. text=Error #2031: Socket Error.

at net_fla::MainTimeline/net_fla::frame1()

==============================================

 

e na net não encontrei muita coisa sobre esse erro.

 

 

Posta seu codigo de conexao ai.

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta seu codigo de conexao ai.

abs

tirei dos live docs http://livedocs.adobe.com/flash/9.0/main/w...e=00000318.html

 

var xmlsock:XMLSocket = new XMLSocket();

xmlsock.connect("127.0.0.1", 8080);

 

nada complexo.

 

EDIT===============

Bom, creio que meu problema de travamento é quando ocorre a conexão, cheguei em casa e no notebook tentei exatamente o mesmo condigo e consegui conectar.

Maaas, surgiu outro problema, mas agora creio que seja na sintaxe do AS3.

Não estou conseguindo fazer o Flash ler as saidas do java.

no codigo acima, tinha um addEventListener, e uma function "onData", seguindo o exemplo da adobe, apenas retirei o "private" para poder acessar sem a criação de uma class, mas recebo o seguinte erro:

Warning: 1090: Migration issue: The onData event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0. You must first register this handler for the event using addEventListener ( 'data', callback_handler).

eh impressão minha ou terei que fazer a classe?

 

kisuke, você tem um exemplo funcional de conexões XMLSocket?

 

obrigado pela força.

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

no caso instalei o easyPhp e coloco ele pra rodar, e dpois só colocar o seguinte código que vai funcionar:

 

var xml_s=new XMLSocket();

xml_s.connect("127.0.0.1",80);

xml_s.addEventListener(Event.CONNECT,xmlsocket);

xml_s.addEventListener(Event.CLOSE,xmlsocket);

xml_s.addEventListener(IOErrorEvent.IO_ERROR,xmlsocket);

 

function xmlsocket(Event):void{

switch(Event.type){

case 'ioError':

trace ("Não foi possivel conectar");

break;

case 'connect':

trace ("Conectado");

break;

case 'close':

trace ("Desconectado");

break;

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.