ÐиÑÑÑална ÐабоÑаÑоÑÐ¸Ñ Ð¿Ð¾ ÐомпÑÑÑÑни ÐÑежи и РазпÑеделени ...
ÐиÑÑÑална ÐабоÑаÑоÑÐ¸Ñ Ð¿Ð¾ ÐомпÑÑÑÑни ÐÑежи и РазпÑеделени ...
ÐиÑÑÑална ÐабоÑаÑоÑÐ¸Ñ Ð¿Ð¾ ÐомпÑÑÑÑни ÐÑежи и РазпÑеделени ...
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Виртуална Лаборатория по Компютърни Мрежи и Разпределени СистемиСъщите като предните, но имат допълнително поле за настройки насокета.int send(int s, char *msg, int msglen, int flags);int recv(int s, char *msg, int msglen, int flags);Познатите ни функции за работа с файлове. Подава се дескриптор, буферза данни и дължина на буфера.int write(int s, char *msg, int msglen);int read(int s, char *msg, int msglen);Функции за предаване на данни при дейтаграмни сокети, където нямаподдържане на връзката и всеки дейтаграм пътува независимо до адреса.int sendto(int s, char *msg, int msglen, int flags, struct sockaddr*addr, int addrlen);int recvfrom(int s, char *msg, int msglen, int flags, structsockaddr *addr, int *addrlenptr);За разлика от тези, при поточните сокети, маршрута се избираеднократно, след което се записва в сокета и се използва по време натрансфера.Проверка и промяна на опциите на сокета.int getsockopt(int s, int level, int optname, void *optval, int*optlenptr);int setsockopt(int s, int level, int optname, void *optval, intoptlen);level – ниво на протокола: SOL_SOCKET, IPPROTO_TCP, IPPROTO_IP.optname – име на опцията: SO_REUSEADDR, SO_ERROR,SO_BROADCAST и други.optval – стойността на конкретната опция.Помощни функции.При мрежовото програмиране винаги е необходимо да се реши единважен проблем. Това е последователността на обработка на данните – отстарши към младши байт или обратно. Проблемът е наследство отразличното представяне на данните в различни компютърни архитектури. ВIntel архитектурите и подобните на тях данните се обработват в Little-endian,докато в Macintosh в Big-endian. Прието е данните по мрежата да се предаватв Big-endian и затова при всички Intel и подобни архитектури е необходимода се извършва преобразуване. За целта се използват няколко функции:htonl() – 32 битово число от Little в Big-endian (host-to-networklong);ntohl() – 32 битово число от Big в Little-endian (network-to-hostlong);htons() – 16 битово число от Little в Big-endian (host-to-networkshort);ntohs() – 16 битово число от Big в Little-endian (network-to-hostshort).Специфични функции за WinSock интерфейса.Стр.86Сокети – приложение.