OBTER IP REMOTO

PAVILLION 19/12/2011 11:15:47
#391610
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...

  

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?
KERPLUNK 19/12/2011 11:44:29
#391612
Quando vc busca essa lista de máquinas na rede, pode trazer o ip junto...
PAVILLION 19/12/2011 11:51:21
#391613
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?
JABA 19/12/2011 14:52:45
#391623
Implemente isso aqui:

http://www.macoratti.net/d070503.htm
PAVILLION 20/12/2011 11:10:27
#391673
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...
PAVILLION 27/12/2011 21:11:46
#392021
Alguém tem outra idéia de como posso fazer isso?
KERPLUNK 09/02/2012 17:31:55
#394360
Dê uma olhadinha nisso
PAVILLION 09/02/2012 18:14:26
#394367
Alevale e Kerplunk..

Obrigado pelas respostas, vou dar uma olhada mais tarde e retorno aqui...
PAVILLION 11/02/2012 11:28:03
#394484
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..

 

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..
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas