12.07.2015 Views

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

Виртуална Лаборатория по Компютърни Мрежи и Разпределени ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Виртуална Лаборатория по Компютърни Мрежи и Разпределени СистемиВ този интерфейс са добавени няколко специфични функции заадаптиране.- Преди да се използва сокет в дадена програма трябва да сезареди WinSock.dll и да се инициализира.- Преди да се затвори приложението трябва да се освободятресурсите заети от сокет интерфейса.- При възникване на грешка трябва да се обърнем към специфичнафункция, която ни показва коя точно е грешката.Табл.1: Специфични функции на WinSock.dll.ФункцияОписаниеWSAStartup()WSACleanup()WSAGetLastError()Инициализира библиотеката за работа със сокети и проверявадали е налична съответната версия на сокет интерфейса.Освобождава заетите от приложението сокети и прекратявавръзката с библиотеката.Връща кода на последната грешка възникнала при работатасъс сокет интерфейса. Трябва да се извиква веднага привъзникване на грешка, за да не се презапише грешката отнововъзникнала такава.Обикновено се използва следния код в началото на приложението инататък се програмира по подобие на „Berkeley sockets”.WSADATA wsadata;WSAStartup (MAKEWORD(1,1), &wsadata); // Version 1.1 requiredИнтерфейс за работа със сокети в Java.Програмирането на сокети в Java се извършва чрез специализиран пакет,съдържащ API функции и класове. Този пакет се нарича “java.net”. Заадресирането на сокетите се предлагат няколко класа – InetAddress иSocketAddress и техни наследници. Първият предлага адресиране чрез IPадрес, като има имплементирани наследници за IPv4 и IPv6. Адресът може даму се подава директно в dotted decimal формат или като long число. Вториятклас и неговите наследници капсулират IP адреса и номера на порт в единобект. Удобен е за работа и позволява използването на име на хост вместо IPадреса.Поточни сокети.За работа с поточни сокети, Java предлага два класа – Socket иServerSocket. Класът ServerSocket представлява сокет на който сървърнотоприложение „слуша” и приема заявки. Класът Socket предоставя крайнататочка за комуникация между клиента и сървъра. При клиента този клас сеизползва за създаване на сокет и свързване към сървъра, а при сървъра – приполучаване на заявка на ServerSocket обекта (фигура 3).Стр.87Сокети – приложение.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!