OBTER IP REMOTO
                    Galera...
Estou fazendo um programa para transferir arquivos na rede local, mesmo grupo de trabalho, etc, etc...
Estou usando Sockets e WCF para a transferência, já que quero transferir grandes arquivos..
Mas estou tendo um problema, tenho um Form que mostra todos os PCs da rede..
A intenção, é selecionar os arquivos que quero transferir e selecionar o PC que eu quero enviar...
Tudo bem até ai, mas eu preciso obter o IP deste PC remoto...
Estou usando o seguinte código, para obter o IP...
E ai ele me retorna um IP, como 67.213.62.136...Que eu acho que é o IP público..
Mas eu preciso do IP na rede local...Que é algo como 10.168.1.120..
Alguém tem idéia do que posso fazer?
            Estou fazendo um programa para transferir arquivos na rede local, mesmo grupo de trabalho, etc, etc...
Estou usando Sockets e WCF para a transferência, já que quero transferir grandes arquivos..
Mas estou tendo um problema, tenho um Form que mostra todos os PCs da rede..
A intenção, é selecionar os arquivos que quero transferir e selecionar o PC que eu quero enviar...
Tudo bem até ai, mas eu preciso obter o IP deste PC remoto...
Estou usando o seguinte código, para obter o IP...
  
public static string GetIP(string hostname)
{
          IPHostEntry ipEntry = Dns.GetHostEntry(hostname);
          IPAddress[] address = ipEntry.AddressList;
          return address[0].ToString();
}
 E ai ele me retorna um IP, como 67.213.62.136...Que eu acho que é o IP público..
Mas eu preciso do IP na rede local...Que é algo como 10.168.1.120..
Alguém tem idéia do que posso fazer?
                    Quando vc busca essa lista de máquinas na rede, pode trazer o ip junto...
                
            
                    Kerplunk....
Obrigado pela resposta, mas acho que não dá do jeito que você disse...
Utilizo esse código do CodeProject.. Retreiving a list of network computer names using C#
Para fazer do modo que você disse, eu teria que mudar o mecanismo para obter a lista de máquinas da rede..
Sabe algum método para isso?
            Obrigado pela resposta, mas acho que não dá do jeito que você disse...
Utilizo esse código do CodeProject.. Retreiving a list of network computer names using C#
Para fazer do modo que você disse, eu teria que mudar o mecanismo para obter a lista de máquinas da rede..
Sabe algum método para isso?
                    Implemente isso aqui:
http://www.macoratti.net/d070503.htm
            http://www.macoratti.net/d070503.htm
                    Jaba, obrigado pela resposta...
Mas eu não saberia portar esse código para C#, não tenho experiência nenhuma com VB6...
Alguns trechos até que sim, outros não mesmo...
Ainda continuo tentando outras formas, mas sempre retorna o mesmo IP...
            Mas eu não saberia portar esse código para C#, não tenho experiência nenhuma com VB6...
Alguns trechos até que sim, outros não mesmo...

Ainda continuo tentando outras formas, mas sempre retorna o mesmo IP...
                    Alguém tem outra idéia de como posso fazer isso?
                
            
                    Alevale e Kerplunk..
Obrigado pelas respostas, vou dar uma olhada mais tarde e retorno aqui...
            Obrigado pelas respostas, vou dar uma olhada mais tarde e retorno aqui...
                    ALEVALE...
Este método que mostra lá no site é o que eu uso...
Mas o que acontece é o seguinte:
Quero transferir arquivos de um PC para o outro, uso sockets...
Listo os PCs da rede, do mesmo grupo de trabalho, através de um exemplo lá do Codeproject...
Quando o usuário seleciona o PC da lista, através do nome dele [Ô]PC1[Ô] eu obtenho com esse código o IP..
Porém, por algum motivo ou por forças sobrenaturais...
Ele me retorna um IP assim: 67.215.60.162...
Que não tem nada haver com a rede, que é 10.0.0.1, nem com o IP externo..Que é lá pelos 204.blá.blá.blá...
KERPLUNK...
Achei bem interessante aquele projeto..
Mas não consegui fazer ele funcionar ainda...
Dá [Ô]Erro interno no servidor[Ô] ao iniciar..
Mas continuo tentando ver o que pode ser para solucionar e testar..
            Este método que mostra lá no site é o que eu uso...
Mas o que acontece é o seguinte:
Quero transferir arquivos de um PC para o outro, uso sockets...
Listo os PCs da rede, do mesmo grupo de trabalho, através de um exemplo lá do Codeproject...
Quando o usuário seleciona o PC da lista, através do nome dele [Ô]PC1[Ô] eu obtenho com esse código o IP..
 
            IPHostEntry entry = Dns.GetHostEntry([Ô]PC1[Ô]);
            for (int i = 0; i < entry.AddressList.Length; i++)
            {
                Console.WriteLine(entry.AddressList[i].ToString());
            }
 Porém, por algum motivo ou por forças sobrenaturais...
Ele me retorna um IP assim: 67.215.60.162...

Que não tem nada haver com a rede, que é 10.0.0.1, nem com o IP externo..Que é lá pelos 204.blá.blá.blá...
KERPLUNK...
Achei bem interessante aquele projeto..
Mas não consegui fazer ele funcionar ainda...
Dá [Ô]Erro interno no servidor[Ô] ao iniciar..
Mas continuo tentando ver o que pode ser para solucionar e testar..
                        Tópico encerrado , respostas não são mais permitidas
                    
                

