Программирование >>  Автоматически обновляемые приложения 

1 ... 137 138 139 [ 140 ] 141 142 143 ... 170


Глава 16


Локальная сеть и Интернет

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

В этой книге не будут рассматриваться аспекты работы с ASP.NET, так как изучение этой технологии достойно отдельной книги. Но мы рассмотрим более простые приемы.

Информация о сети

Сначала рассмотрим некоторые вопросы, связанные с определением конфигурации сети, адресов компьютера и т. п.

Как получить хост, порт, протокол из веб-адреса?

с помощью класса System. UriBuilder МОЖНО легКО ПОЛучИТЬ необхОДИМуЮ

информацию о хосте, порте, используемом протоколе и другие данные. Пример показан в листинге 16.1.

Гпцизгшг ШЛ, lAmmHwm информации из веб-адреса

private void buttonl Click(object sender, EventArgs e) {

UriBuilder ubuild = new UriBuilder ((a http: Wrusproject. narod. ru: 80 ) ;



j Листинг 16.2* Создаииф уникального идентификатора ресурсов

ii;..,;,;.v.i i.......................................................................................... ................ .....i...........................-.......................................i...,...... f

UriBuilder builder = new UriBuilder( http: rusproject.narod.ru/ ) ; builder.Path = index.htm ; builder.Fragment = main ;

Uri myUri = builder.Uri;

MessageBox.Show(builder.ToString());

Примечание

Пример работы с классом UriBuilder находится В папке URI на прилагаемом диске.

Как получить IP-адрес компьютера, используя DNS?

с помощью метода GetHostEntry класса Net.Dns МОЖНО получить 1Р-адрес компьютера, используя его имя, которые мы обычно вводим в браузер. Пример показан в листинге 16.3.

Листинг 16.3. Получение 0М8*имени компьютера

private void butGetDNS Click(object sender, EventArgs e) {

System.Net.IPHostEntry host;

MessageBox.Show(ubuild.Host); MessageBox.Show(ubuild.Port.ToString 0) ; MessageBox.Show(ubuild.Scheme); MessageBox.Show(ubuild.Uri.ToStringO);

С помощью данного класса таюке можно создавать URI (универсальный идентификатор ресурсов) из составляющих элементов. Например, имеется адрес сайта, имя файла и фрагмент. Свойство Fragment содержит любой текст, который следует за маркером фрагмента (знаком #) в UR1, включая сам маркер. При установлении свойства Fragment данный маркер также добавляется к его значению. В листинге 16.2 показано создание URI http: rusproject.narod.rU/index.htm#main.



Листинг 16.4. Получение ЫЕТВЮ8*имени компькэтера

...............i...........................................i..........................

private void butGetNETBIOS Click(object sender, EventArgs e) {

MessageBox.Show(Environment.MachineName);

Как получить IP-адрес локальной машины?

Для получения IP-адреса локальной машины достаточно указать пустую строку при использовании метода GetHostEntry (листинг 16.5).

Листинг 16.5. Получение (Рдреса локальной машины

private void butGetLocalIP Click(object sender, EventArgs e)

string strip = ;

System.Net.IPHostEntry host;

host = System.Net.Dns.GetHostEntry(strip);

host = System.Net.Dns.GetHostEntry( yandex.ru );

foreach (System.Net.IPAddress ip in host.AddressList) {

MessageBox.Show(ip.ToString());

В результате выполнения кода мы получим список IP-адресов указанного сайта. Теперь попробуйте ввести эти адреса непосредственно в браузер, чтобы убедиться в работоспособности кода. Таюке с помощью этого метода можно выполнять и обратное преобразование. Обратите внимание, что этот метод введен в .NET Framework 2.0, где он дополняет и заменяет устаревший метод GetHostByName ИЗ библиотеки классов .NET Framework 1.1.

Как получить NETBIOS-имя машины?

Для получения имени NETBIOS локальной машины используется свойство Envinronment .MachineName (ЛИСТИНГ 16.4).



1 ... 137 138 139 [ 140 ] 141 142 143 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика