Читаем C# 4.0 полное руководство - 2011 полностью

После этого в программе выполняется чтение данных из веб-сайта издательства McGraw-Hill по адресуwww .McGraw-Hill. comи последующий их вывод на экран. А поскольку этих данных много, то они выводятся на экран отдельными порциями по 400 символов, после чего в программе ожидается нажатие клавиши , чтобы продолжить вывод. Благодаря этому выводимые данные можно просматривать без прокрутки экрана. Обратите внимание на то, что данные читаются посимвольно с помощью методаReadByte . Напомним, что этот метод возвращает очередной байт из потока ввода в виде значения типаint,которое требуется привести к типуchar.По достижении конца потока этот метод возвращает значение -1.

И наконец, ответный поток закрывается при вызове методаClose для объектаresp.Вместе с ответным потоком автоматически закрывается и поток ввода. Ответный поток следует закрывать в промежутках между последовательными запросами. В противном случае сетевые ресурсы могут быть исчерпаны, препятствуя очередному подключению к Интернету.

И в заключение анализа рассматриваемого здесь примера следует обратить особое внимание на следующее: для отображения гипертекстового содержимого, получаемого от сервера, совсем не обязательно использовать объект типаHttpWebRequestилиHttpWebResponse.Ведь для решения этой задачи в данной программе оказалось достаточно стандартных методов, определенных в классахWebRequestиWebResponse,и не потребовалось прибегать к специальным средствам протокола HTTP. Следовательно, вызовы методовCreate иGetResponse можно было бы написать следующим образом.

// Сначала создать объект запроса типа WebRequest по указанному URI.

WebRequest req = WebRequest.Create("http://www.McGraw-Hill.com");

// Затем отправить сформированный запрос и получить на него ответ.

WebResponse resp = req.GetResponse ;

В тех случаях, когда не требуется приведение к конкретному типу реализации протокола, лучше пользоваться классамиWebRequestиWebResponse,так как это дает возможность менять протокол, не оказывая никакого влияния на код программы. Но поскольку во всех примерах, приведенных в этой главе, используется протокол HTTP, то в ряде примеров демонстрируются специальные средства этого протокола из классовHttpWebRequestиHttpWebResponse.

Обработка сетевых ошибок

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT