Applet não retorna valor para a aplicação



  • Olá pessoal,

    estou tentando rodar um Applet no navegador mas não estou conseguindo. Eu criei no eclipse um método que retorna o IP local.

    Segue a função: [code]public InetAddress retornarIP() { InetAddress ip = null; try { ip = InetAddress.getLocalHost(); if (!ip.getHostAddress().equals("127.0.0.1")) { return ip; } /* * Em muitas vezes, o método acima retorna várias vezes "127.0.0.1", * neste caso, é preciso verificar todas as interfaces de rede disponíveis */ Enumeration<NetworkInterface> ni = NetworkInterface.getNetworkInterfaces(); while (ni.hasMoreElements()) { Enumeration<InetAddress> ia = ni.nextElement().getInetAddresses(); while (ia.hasMoreElements()) { ip = ia.nextElement(); if (!ip.getHostAddress().equals("127.0.0.1")) { return ip; } } } } catch (UnknownHostException e1) { System.err.println("Error: " + e1.getMessage()); } catch (SocketException e1) { System.err.println("Error: " + e1.getMessage()); } return null; }[/code] Bom, esse método está retornando um objeto InetAddress, vou utilizar mais tarde para obter o endereço MAC desse IP.

    Tenho um segundo método que retorna esse endereço IP em String: [code]public String retornarIPTextual() { return this.retornarIP().getHostAddress(); }[/code] É esse método que estou chamando na função do Maker.

    No Maker, criei os fluxos que fazem a comunicação com esse Applet (Invocar Método / Obter Objeto Applet).

    Abri o Java no painel de controle, e habilitei o console para ver o rastreamento e as exceções caso seja geradas.

    Ao executar o evento que dispara o fluxo, é retornado a seguinte saída no console: [quote]basic: Applet carregado.
    basic: Applet redimensionado e adicionado ao container pai
    basic: PERF: AppletExecutionRunnable - applet.init() BEGIN ; jvmLaunch dt 159353 us, pluginInit dt 363753 us, TotalTime: 523106 us
    basic: Applet inicializado
    basic: Iniciando applet
    basic: rollup de desempenho concluído
    basic: Applet tornado visível
    basic: Applet iniciado
    basic: Clientes informados de que o applet foi iniciado
    network: Entrada de cache não encontrada [url: http://SERVER/crossdomain.xml, versão: null]
    network: Conectando http://SERVER/crossdomain.xml ao proxy=DIRECT
    network: Conectando http://SERVER:80/ ao proxy=DIRECT[/quote] Ou seja, o Applet foi inicializado corretamente, mas não obtenho o retorno esperado, creio eu, por conta dessa entrada de cache não encontrada.

    Executando o Applet pelo eclipse, funciona normalmente.

    Pra ter a certeza que o Applet estava funcionando, criei o método: [code]public String retornarTexto() { return "Retornando texto"; }[/code] Já fazendo o chamado desse método, consigo o retorno.

    Alguém tem uma idéia?

Log in to reply