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