Pegando IP da Máquina com CSharp (pt-BR)
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.
This article was originally written by:
Maurício Júnior
MCP, MCAD, MVP Microsoft
www.mauriciojunior.org