Полезно за вас: Речник | Игри | Новини | Фирми | Рецепти | Обяви
Начало на реферати

Класове за работа в Internet от високо ниво WinInet


Информационни технологии | 2009-12-04 | 48 сваляния

49 Класове за работа в Internet от високо ниво WinInet. Основни предимства. Базови класове: CInternetConnection; CHttpConnection; CInternetFile и др. Нотификации на прогреса на Internet сесия.


WinInet

Това е APIот по-високо ниво, но работи само за HTTP,FTP, Gopher клиенти, не и за сървъри.

Кодът е в WININET.DLL.

предимства на WinInet:

  1. кеширане

  2. чете записаният в registry proxy сървър и прави достъпа през него.

  3. буфрира се вход/изхода

  4. удобен API

  5. изгражда автоматично headers, незабелязано пренасочва повикванията.


В 16 битова среди няма многонишково програмиране, затова в асинхронен режим в програмата ще има много изчакване.

В 32 битова среди имаме многонишково програмиране. Комуникациите могат да се оформят в отделни нишки, а интерфейса в главна нишка. Това позволява нишките при блокиране да се предаде управлението на друга нишка без да увисва интерфейса. Предимно се работи с WinInet.

Обвивка в MFC класове

CInternetSession Отнася се за всички видове протоколи.

CStdioFile *OpenURL(pstrURL, незад. параметри);

CHttpConnection

Създаването на този обект става след конструиране на CInternetSession с member ф-цията му GetHttpConnection(), връщаща connection handle (HINTERNET).

CFtpConnection, CGopherConnection

CInternetFile

CHTTPFile* httpfile = (CHTTPFile*) internetSession.OpenURL(strurl);

CHttpFile

Създава се с CHttpConnection::OpenFile();

CFtpFileFind, CGopherFileFind

CInternetException

Нотификации за прогреса на Internet сесия

За да се работи с тях се конструира наследник, напр:

western" style= "font-style: italic; margin-bottom: 0in; text-align: justify">{

..public: CCallBacknternetSession(){EnableStatusCallback(..)

}

protected: OnStatusCallback(..)};

като:

  1. В конструктора се вика CInternetSession::EnableStatusCallback(), която разрешава обратните повиквания.

  2. Предефинира се member ф-ията OnStatusCallback( dwInternalStatus,)




50 Задачи на примерна клиентска програма, осъществяваща заявка към Internet сървър.


Ето код на примерна клиентска програма, осъществяваща заявка Get към Internet сървър. Кодът се поставя в отделна нишка. За да стане това името на нишковата проц. да се постави в:

AfxBeginThread(ClientWinInetThreadProc,.);

на главната нишка на приложението.

CString g_strServerName = Localhost;

UINT ClientWinInetThreadProc( LPVOID pParam){

CInternetSession session;

CHttpConnection* pConnection = NULL;

CHttpFile* pFile1=NULL;char* buffer=new char[MAXBUFF];

UINT nBytesRead=0;

try { pConnection = session.GetHttpConnection( g_strServerName, 80);

pFile1 = pConnection OpenRequest( 1, /); //сляпо GET

pFile1SendRequest();

nBytesRead = pFile1Read(buffer, MAXBUF 1);

buffer[nBytesRead] = ;

char temp[10];

if(pFile1Read(temp, 10) != 0) //повторен опит за четене

AfxMessageBox(Файлът надхвърля размера файлът не е кеширан);

}

AfxMessageBox(buffer);

}

catch( CInternetException* e){// обработка на изключението

edelete;}.

Класове за работа в Internet от високо ниво  WinInet

Добави своя коментар:



Тагове от реферата: , , ,

Изтегли в DOC | PDF | ZIP

Подобни материали


Файлова организация Информационни технологии | 2010-11-15 | 61 прочитания
Проектиране на РБД. Аномалии. Функционални зависимости Информационни технологии | 2010-11-15 | 116 прочитания
Развитие на масовите услуги в Интернет(1) Информационни технологии | 2010-11-15 | 150 прочитания
История на изчислителната техника1 Информационни технологии | 2010-11-15 | 85 прочитания
Изграждане на уеб сайтове с ASP.NET Информационни технологии | 2010-11-15 | 198 прочитания
Разработване на административен панел към уеб сайт Информационни технологии | 2010-11-15 | 166 прочитания
Редактиране в елктронна таблица Информационни технологии | 2010-11-15 | 36 прочитания
Предимства и недостатъци на Интернет Информационни технологии | 2010-11-15 | 205 прочитания
Инсталиране на SUSE LINUX 10.1 Информационни технологии | 2010-11-15 | 130 прочитания
Фирмено проучване на патентната и заявителска активност на фирма Аdidas Информационни технологии | 2010-11-15 | 99 прочитания