1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Sockets em Java ( argh )

Discussão em 'Programação' iniciada por eXcept, 2 de Fevereiro de 2005. (Respostas: 3; Visualizações: 1341)

  1. eXcept

    eXcept Power Member

    Viva.

    Tenho de criar, para a faculdade, um chat em java, usando sockets. Já tenho o motor principal a funcionar, e tenho o IP do programa cliente, obtido através da função client.getInetAddress, que está armazenado no vector. No entanto, preciso também de mostrar o hostname da máquina cliente, ou seja, resolver através do NetBios Name o ip da máquina cliente e mostrá-lo. Existe alguma classe/função que o faça automaticamente? Ou terei de "inventar" outras formas?

    Tks in advance....

    eXcept
     
  2. Lostctrl

    Lostctrl [email protected] Member

    Bem... supostamente isto deveria funcionar...

    Código:
    import java.net.*;
    
    public class MyTest {
    
    	public static void main(String[] args) {
    		String ip = "209.249.116.141";
    		try {
    			String resIp = InetAddress.getByName(ip).getHostName();
    			System.out.println(resIp);
    		} catch (UnknownHostException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    	}
    }
    
    mas a descriçao do método getHostName diz uma cena interessante:

    Isto quer dizer q poderá nao te fazer o resolve do hostname, devido a um security manager que te tenta fazer um socket connection a esse host para poder fazer o reverse dns lookup, se isso nao for conseguido (firewall por ex...) ele retorna-te o ip de novo.

    Tenta e diz qq coisa

    []'s
     
    Última edição: 2 de Fevereiro de 2005
  3. eXcept

    eXcept Power Member

    Hey..

    funcionou, com algumas alterações que precisava...tks a lot...

    Agora outra duvida....

    tenho o trabalho dividido em vários files, por imposição. Tenho um Client, um Server, um Handler e os controlos do Applet.

    Tenho métodos no Handler que consigo chamar nos outros, no entanto preciso de chamar variáveis que estão declaradas no Handler.

    Há alguma forma de fazer isto? Já tentei instanciar, mas não funciona....

    Ideas, please :s



    EDIT: e já agora uma outra dúvida.... como é ke posso por o "cliente" a obter o seu próprio IP de ligação? Tendo em conta que ele pode ter vários ips..mas só me interessa o IP por onde ele se vai ligar ao server?
     
    Última edição: 4 de Fevereiro de 2005
  4. NoMercy

    NoMercy Power Member

    Faz uns "getters e setters" para as variáveis (propriedades).
     

Partilhar esta Página