Групи API функции осъществяващи комуникация в Internet
| Информационни технологии | 2009-12-04 | 66 сваляния |
48 Групи API функции осъществяващи комуникация в Internet. Капсулация в WinSock класове. Основни класове - CSocket и CasyncSocket. Процедура на конструиране на връзка.
Application Interface към TCP/UDP/IP
В MFC има 2 групи: WinSoc и WinNet. WinSoc са от по-ниско ниво. WinNet са за клиент-сървър. Има два базови класа асинхронният сокет и класа Csocket. Методите на асинхронният сокет служат да се преобразува асинхронният поток от данни в синхронна последователност от данни към архива или паметта.
Процедурата за работа със сокети е следната:
-
Конструира се обект CSocket: (сокет е: протокол + адрес, а адрес е: IP + port)
CSocket sockSrve; или CSocket sockClient;
2. Създава се SOCKET handle ( ako е сървър се указва и порт):
sockSrve.Create(nPort) или sockClient.Create();
-
Аko e kлиент CAsyncSocket::Connect()
Аko е сървър CAsyncSocket::Listen()
След получаване заявка в сървъра CAsyncSocket::Accept()
sockSrve.Listen() sockClient.Connect(strAddr, nPort)
CSocket sockRecv;
SockSrve.Accept(sockRecv);
-
Създава се CSocketFile обект и се асоциира с CSocket:
CSocketFile file(&sockRecv);
-
С
ъздава се CArchive обект и се асоциира с обекта CSocketFile:
C
Archive arIn(&file, CArchive::load);
CArchive arOut(&file, CArchive::store);
6. Използва се CArchive обектите за изпращане и получаване на данните:
arIn >> dwValue arIn >>dwValue
arOut << dwValue arOut << dwValue
-
накрая се разрушават обектите CArchive, CSocket , CSocketFile.
Ето схема на използването на тези обекти:
client server

C









Archive CSocketFile CSocket CSocket CSocketFile CArchive
SendingData ReceivingData






C



Archive CSocketFile Csocket CSocket CSocketFile CArchive
ReceivingData Sending Data
Network
CAsyncSocket
Обхваща функционалността на WinSock API:
C
AsyncSocket mysock;
mysock.Create(); създаване
Има над 20 функции:
Accept създава връзка със сокета
Bind асоциира локален адрес със сокета
Connect прави връзка със съответстващия сокет
Receive
Send
overridable
OnAccept OnAccept съобщава на прослушващ сокет, че може да accept чакаща заявка за връзка .
OnReceive OnReceive notifies a listening socket че има чакаща данна за получаване с Receive
CSocket
CSocketFile
CSocketFile(CSocket* pSocket, );
Тагове от реферата: комуникаия, ункции, Internet, осъществява











