12.07.2015 Views

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

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

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

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Виртуална Лаборатория по Компютърни Мрежи и Разпределени Системи5. Трансфер на данни.6. Затваряне на сокета.Фиг.3. Дейтаграмни сокети.Адресиране на сокетиЗа да адресираме един сокет ни е необходимо да зададем мрежов адрес,порт, домейн на адреса. Това се постига с използването на структура отданни.struct in_addr {unsigned long s_addr;};struct sockaddr_in{short sin_family; //АF_UNIX | АF_INETu_short sin_port; // port numberstruct in_addr sin_addr; // addresschar sin_zero[8]; // padding};За да се поддържа универсална структура, независимо от използванитепротоколи, се използва структурата “in_addr”. За различните протоколниреализации, тя има еднакъв размер и двоично подреждане, но полетата вътреможе да са различни. Затова има и поле за подравняване на адреса на сокета –“sin_zero”. Като се вижда в структурата, адреса се записва като цялоположително число от тип long. Поддържат се функции за превръщането му вdotted-decimal и обратно.unsigned long inet_addr(char *)char *inet_ntoa(unsigned long)Описание на основните функциите за работа със сокети в С/С++Създаване на сокет – извършва се и при клиента, и при сървъра.s = socket (domain, type, protocol)s – дескриптор на сокета.Стр.84Сокети – приложение.

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

Saved successfully!

Ooh no, something went wrong!