Программирование >>  Программирование с использованием ajax 

1 ... 331 332 333 [ 334 ] 335 336 337 ... 396


WebClient

WebRequest, WebResponse

TcpClient

TcpListener

System. Net. Sockets

Клиент

Сервер

Рис. 32.5. Варианты программирования сетевой передачи

Если требуется независимость от протокола или большая степень контроля над протоколами TCP и UDP, можно выполнить программирование сокетов средствами .NET. Классы для программирования сокетов определены в пространстве имен System.Net.Sockets.

WebClient

Мы начнем с рассмотрения самого простого в использовании класса - WebClient. Этот класс представляет собой компонент, который можно перетащить из панели инструментов в прможение Windows Forms. Его можно использовать с клиентскими приложениями для получения доступа к HTTP- или ЕТР-серверам или для доступа к файлам в файловой системе.

Основные свойства и методы класса WebClient описаны в табл. 32.2.

Таблица 32.2. Основные свойства и методы класса WebClient Свойства класса WebClient Описание

BaseAddress

Credentials

UseDefaultCredentials

Encoding Headers

Proxy

Свойство BaseAddress определяет базовый адрес запроса, выполняемого объектом WebClient

Свойство Credentials позволяет передавать идентификационную информацию - например, с использованием класса

NetworkCredential

Если нужно использовать идентификационные сведения зарегистрированного в данный момент пользователя, установите значение свойства UseDefaultCredentials равным true

Свойство Encoding МОЖНО использовать для установки кодирования строк, предназначенных для выгрузки и загрузки

Свойство Headers позволяет определять коллекцию WebHeaderCoilection, содержащую информацию заголовка, характерную для используемого протокола

По умолчанию для доступа в Internet используется прокси-сервер, сконфигурированный в Internet Explorer. При необходимости работы с другим прокси-сервером, с помощью свойства Proxy можно определить объект webProxy



Окончание табл. 32.2

Свойства класса WebClient Описание

ч Если нужно отправить строку запроса Web-серверу, это можно

выполнить, устанавливая объект NameValueCollection с помощью свойства QueryString

[ г f-b>iders После отправки запроса информацию заголовка ответа можно

прочитать внутри класса WebHeaderCoilection, связанного с классом ResponseHeaders

IChu с WebClient предоставляет простые методы выгрузки и загрузки файлов, опи-(.11 тыс м гаГ)л. 32.3.

Таблица 32.3. Методы выгрузки и загрузки файлов класса WebClient Методы класса WebClient Описание

< )d ta () Метод DownioadData () позволяет передавать строку Web-адреса,

дописываемую к базовому адресу BaseAddress, а метод возвращает массив байтов, содержащий данные, полученные с сервера

L г ing о Метод DownloadString О аналогичен методу DownioadData О ;

единственное различие между ними состоит в том, что возвращенные данные хранятся внутри строки

i i 1 I е () Если данные, возвращенные с сервера, должны храниться внутри

файла, метод DownioadFiie () выполняет все необходимые действия. Аргументы, устанавливаемые им - Web-адрес и имя файла

J i () Метод OpenRead () также загружает данные с сервера, но за-

груженные данные могут считываться из потока, возвращенного этим методом

Метод UploadFile О можно использовать для выгрузки файлов

на FTP- или Web-сервер. Этот метод допускает также передачу НТТР-метода, который должен использоваться при выгрузке

J () В то время как метод uploadFiie () позволяет выполнять

выгрузку файлов из локальной файловой системы, метод UpioadData () отправляет серверу массив байтов

г г q () Метод Uploadstring () МОЖНО использовать для выгрузки стро-

ки на сервер

JO Метод UploadValues () можно использовать для выгрузки объ-

екта NameValueCollection на сервер

- * О Метод OpenWrite () отправляет содержимое серверу, используя

при этом поток

В ( i(vi\i()iuc\i практическом занятии мы загрузим файл из Web с помощью класса

. I . м nt

Практическое занятие Использование класса WebClient

I (io.viaiirc поиый проект консольного приложения по имени WebClientDemo в кспалогс С: \BegVCSharp\Chapter32.



2. Импортируйте пространство имен System.Net.

3. Добавьте следующий код в метод Main ():

static void Main () {

WebClient client = new WebClientO;

client.BaseAddress = http: www.microsoft.com ;

string data = client.DownloadString( Office );

Console.WriteLine(data);

Console.ReadLine();

4. Скомпилируйте и запустите приложение.

Описание полученных результатов

После создания экземпляра класса WebClient значение свойства BaseAddress устанавливается равным http: / /www.microsof t. com. Оно представляет левую часть адреса, используемого во всех последующих запросах.

Вызов метода DownloadString ( Of f ice ) запрашивает страницу http: www. microsoft.com/Office. Все возвращенные данные сохраняются в переменной data и выводятся на консоль.

Классы WebRequest и WebResponse

Для обмена данными с Web- или FTP-сервером вместо класса WebClient можно применять класс WebRequest. Сам класс WebClient скрытым образом использует класс

WebRequest.

Класс WebRequest всегда используется в сочетании с классом WebResponse. Вначале, конфигурируя объект WebRequest, нужно определить запрос, который будет отправлен серверу. Затем можно вызвать метод GetResponse, который отправляет запрос серверу и возвращает его ответ в классе WebResponse.

Классы WebRequest и WebResponse являются абстрактными и поэтому не используются непосредственно. Как показано на рис. 32.6, они являются базовыми классами, а пространство имен System.Net предоставляет конкретные реализации протоколов HTTP, FTP и файловых протоколов.

WebRequest

GetResponseO

WebResponse

HttpWebRequest

FtpWebRequest

HttpWebResponse

FtpWebResponse

FileWebRequest

FileWebResponse

Puc. 32.6. Диаграмма классов WebRequest и WebResponse



1 ... 331 332 333 [ 334 ] 335 336 337 ... 396

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