Pegando IP da Máquina com CSharp


por Mauricio Junior em 1/1/2011 0



        Um dia desses estava precisando pegar o número de ip da máquina para gravar no banco de dados usando Windows Forms e C#.NET. O meu problema foi que nunca precisei fazer isso, a não ser usando a plataforma ASP.NET (web).

        Pra isso tive que estudar um pouco e achar uma melhor maneira de pegar IP sem digitar muitas linhas de códigos. O resultado foi interessante, achei várias maneiras de fazer, porém escolhi a que melhor para o meu caso. Então resolvi divulgar como artigo do site as 3 linhas de códigos.

Usado: Windows Forms, Visual Studio 2010, C#.NET, System.Net.

        O que fiquei mais surpreso foi que o framework da Microsoft possui classes específicas para ajudar os desenvolvedores com isso.

        O primeiro passo foi fazer o importe da classe System.Net e pegar o nome da máquina. (Code 1)


string nome = Dns.GetHostName();

 

Code 1

        O segundo passo foi pegar o endereço IP da máquina passando a variável nome. (Code 2)

 

IPAddress[] ip= Dns.GetHostAddresses(nome);

 

Code 2

        A classe DNS oferece o método GetHostAddresses passando o nome do computador pego anteriormente. O método retorna um array de IPAddress, ou seja, pode ser pego vários ip’s no caso da não passada de parâmetro (nome).

        O passo seguinte é exibir o número em tela. Usei o simples e fácil MessageBox para isso. (Code 3)

 

MessageBox.Show(ip[1].ToString());

 

Code 3

        Segue todo o código, incríveis 3 linhas. (Code 4)

 

string nome = Dns.GetHostName();

IPAddress[] ip= Dns.GetHostAddresses(nome);

MessageBox.Show(ip[1].ToString());

 

Code 4

        Fico por aqui e qualquer dúvida pode entrar em contato.
voltar   comente  subir

 
Mauricio Junior Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 29 anos e possuo sete livros publicados pela editora Ciência Moderna. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, ECODE10.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog: blog.mauriciojunior.org, Site pessoal www.mauriciojunior.org



Comentários:
Comentado por: Manoel Pedro Jr - 13/8/2011 0:00:00
Interessante, mais como saber qual o index correto principalmente quando o pc tem mais de 1 adaptador. Por exemplo aqui usando o index[1] que foi usado no artigo retorno o endereço IPV6 do adaptador para pegar o IPV4 tive que usar o index[3]
Comentado por: Mauricio Junior - 14/8/2011 0:00:00
Obrigado por comentar Manoel, nesse caso do artigo, o mesmo foi feito dentro de uma máquina normal com apenas uma placa de rede.

No seu caso, foi uma dica muito legal, pois é bom verificar sempre o index.

Comente (dê sua opinião):
Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

DateDiff com intervalos escolhidos por você
Windows Phone 7 Action Pack - Vídeo Tutorial
Como fazer uma enquete - parte 2
Método SHA384
Documento padrão de desenvolvimento
Loja Apple (a2you.com.br) feita em .NET (Microsoft)
Validator no VS 2005
Zune
Trabalhando com Session
WebServices usando soapHeader
Gerando uma dll com sistema web
Vídeo - Conecte
Como utilizar CSS no VS 2003
Download grátis - Sistema de Controle de Combustível
Vídeo: Série Atlas.NET - Parte III
Windows Phone 7 com Microsoft TellMe
As várias maneiras de mandar e-mail utilizando .NET
Novo Firefox 3.0 - o chamado Minefield
Escrevendo no EventView
Sistema de Login em ASP – Parte VI
Conhecendo o controle Wizard ASP.NET 2.0
Microsoft com XBox no Windows Phone 7
Vídeo: Aprendendo a trabalhar com o Office
Mais detalhes sobre o HTC Touch HD 2 com o possível Windows Mobile 7
Flickr para Windows 7 e Windows Phone 7
Ler RSS usando o Visual Studio.NET 2005
Vídeo-Aula: Criando um Sistema para Celular com Banco de Dados
Formatando String de Vários Tipos
Trabalhando com o componente Accordion
Seria o novo Windows Mobile 7 ?
GridView - Valor total no footer
Consultando CEP via WebService
Sistema de Login em ASP – Parte IX (Utilizando três camadas)
Linha do GridView (colorindo ao passar o mouse)
Vídeo - Criando um WebBrowser