Conseguir IP WAN - Java - Swing

1 resposta
SirDominque

Ola Ola!!!
Gente, eu preciso pegar o meu IP toda vez que eu abrir meu aplicativo java que eu fiz.
E eu sei que eu posso usar um site da internet pra fazer isso.
Eu queria saber se isso se chama “Web Service”? E queria saber um site estável e que voces usam, e que seja Free to use.

Vou colocar um try catch pra quando o cliente nao estiver conectado ou se tiver um firewall… mas na verdade, a função é que, quando o admin do meu chat ligar o aplicativo, ele ja mostre o IPV4

:stuck_out_tongue: Alguma Sugestão?

1 Resposta

SirDominque

Pedi ajuda para um conhecido, caso alguem precisar, esta aqui uma thread que eu montei em base num método que achei nesse site :
http://stackoverflow.com/questions/3882376/how-to-get-computers-wan-ip-address-in-java

package ProtocolCommunication;

import Controller.MainController;
import java.net.HttpURLConnection;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author André Vinícius Lopes
 */
public class WANAddress implements Runnable {

    private MainController mainController;
    
    public WANAddress(MainController mc)
    {
        mainController = mc;
    }
    
    @Override
    public void run() {
        boolean done = false;
        if (done == false) {
            try {
                java.net.URL url = new java.net.URL("??? Precisa de um Script que retorne o IP em um site");

                java.net.HttpURLConnection con = (HttpURLConnection) url.openConnection();

                java.io.InputStream stream = con.getInputStream();

                java.io.InputStreamReader reader = new java.io.InputStreamReader(stream);

                java.io.BufferedReader bReader = new java.io.BufferedReader(reader);
                String ip = bReader.readLine();
                
                //System.out.print("Your IP address is " + ip);
                
                mainController.getMainViewFrontController().showWANAddress(ip);
                done = true;
            } catch (Exception e) {
                e.printStackTrace();
            }

        } else {
            try {
                this.finalize();
            } catch (Throwable ex) {
                Logger.getLogger(WANAddress.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

    }
}
Criado 7 de julho de 2013
Ultima resposta 11 de jul. de 2013
Respostas 1
Participantes 1