ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
От: inbruk
20. ноября 2010 03:04

Для этого используются классы из пространства имен System.Net. Здесь будет описан один из вариантов, но возможны и другие. Сначала нужно получить имя текущего хоста, то есть хоста, на котором запущена программа. Это делается с помощью вызова метода GetHostName() (без параметров) статического класса Dns. Потом по имени хоста нужно получить контейнер для информации об адресе интернет хоста (в широком смысле). Контейнер представляет собой объект класса IPHostEntry. Для этого нужно вызвать метод GetHostEntry(string) (с именем хоста) статического класса Dns. Далее нужно по полученному контейнеру получить IP адреса, их может быть несколько, и они могут быть в различных форматах (IPv4 и IPv6). Для получения списка IP адресов нужно, из IPHostEntry добыть посредством свойства AddressList массив объектов класса IPAddress. Каждый из объектов класса IPAddress содержит в себе IP адрес. До байтового представления адреса можно добраться вызвав метод GetAddressBytes() класса IPAddress. Причем количество байтов для IP адресов различных форматов может быть разным. Для IPv4 размер IP адреса - 4 байта. Для IPv6 размер IP адреса - 15 байтов. Следующий пример показывает, как узнать на C# IP адрес хоста, на котором запущена программа.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Net;

namespace ConsoleApplication1
{
class Program
{
static void Main()
{
string currHostName = Dns.GetHostName();
Console.WriteLine("Curr host name:" + currHostName);

IPHostEntry ipEntry = Dns.GetHostEntry(currHostName);
IPAddress[] addrs = ipEntry.AddressList;
foreach (IPAddress currIPAddress in addrs)
{
Byte[] bytes = currIPAddress.GetAddressBytes();
if( bytes.Count()==4 )
{
Console.Write("Current Host IPV4 Address: ");
}
else
{
Console.Write("Current Host IPV6 Address: ");
}

for (int i = 0; i < bytes.Length; i++)
{
Console.Write(bytes[i] + " ");
}
Console.WriteLine();
}
Console.ReadKey(true);
}
}
}


Если вы обратились к специалисту, по ремонту утюгов, то можете быть уверены, что вам дадут гарантию.

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Способы заработка на сайте
На этом блоге было много постов про производство и раскрутку сайтов. Но пока не было про заработок на них. Пора исправить этот недочет. Здесь будут описаны по возможности не фантастичные, и не супер низко прибыльные способы. Также упор будет сделан именно на организацию процесса, а не технических деталях, которых в обилии в интернете. Несмотря на то, что как пр...

Silverlight, HTML5 и непрозрачная стратегия развития Microsoft
Оригинал статьи взят отсюда: Silverlight, HTML5 и непрозрачная стратегия развития Microsoft Автор: Peter Bright Переводчик: Mairon     По непонятным мне на данный момент причинам, похоже, что многие разработчики, присутствовавшие на недавней конференции PDC-2010 (Крупнейшая конференция Microsoft для разработчиков — Прим. переводчика), были сильн...

Комментарии

 
nobelwerfer 29.07.2011 18:38:15 #

дас ист фантастиш, наконец разродились чем то полезным

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий