Содержание
- 2. Создание сокета #include #include int socket ( int domain, int type, int protocol ) ; domain
- 3. Связывание #include #include int bind ( int sockfd, struct sockaddr * myaddr, int addrlen ) ;
- 4. Связывание #include #include int bind ( int sockfd, struct sockaddr * myaddr, int addrlen ) ;
- 5. Связывание #include #include int bind ( int sockfd, struct sockaddr * myaddr, int addrlen ) ;
- 6. socket () bind () сервер Предварительное установление соединения (тип сокета — виртуальный канал или датаграмма) socket
- 7. Прослушивание сокета #include #include int listen (int sockfd, int backlog); sockfd — дескриптор сокета backlog —
- 8. Запрос на соединение #include #include int connect ( int sockfd, struct sockaddr * serv_addr, int addrlen
- 9. Подтверждение соединения #include #include int accept ( int sockfd, struct sockaddr * addr, int * addrlen
- 10. Прием и передача данных int send ( int sockfd, const void * msg, int len, unsigned
- 11. Прием и передача данных int send ( int sockfd, const void * msg, int len, unsigned
- 12. Прием и передача данных int send ( int sockfd, const void * msg, int len, unsigned
- 13. Прием и передача данных Read() Write()
- 14. Сокеты без предварительного соединения (тип сокета — датаграмма)
- 15. Прием и передача данных int sendto ( int sockfd, const void * msg, int len, unsigned
- 16. Завершение работы с сокетом #include #include int shutdown ( int sockfd, int mode ) ; sockfd
- 17. Схема работы с сокетами с установлением соединения Серверный сокет Клиентский сокет socket bind listen accept send
- 18. Схема работы с сокетами без установления соединения socket bind sendto recvform close
- 19. AF_UNIX Пример. Работа с локальными сокетами #include #include #include #include #include #define SADDRESS "mysocket" #define CADDRESS
- 20. int main ( int argc, char ** argv) { struct sockaddr_un party_addr, own_addr ; int sockfd
- 21. … unlink ( own_addr . sun_path ) ; /* связываем сокет */ if ( bind (
- 22. … while ( gets ( buf ) ) { /* не пора ли выходить? */ quitting
- 23. … printf ( "client: server answered: %s\n", buf ) ; if ( quitting ) break ;
- 24. ... while ( 1 ) { /* получаем строку от клиента и выводим на печать */
- 25. ... /* посылаем ответ */ if ( sendto ( sockfd, buf, strlen ( buf ) +
- 26. AF_INET (GET / ) Пример. Работа с локальными сокетами #include #include #include #include #include #include #include
- 27. int main ( int argc, char ** argv ) { struct sockaddr_in own_addr, party_addr ; int
- 28. … /* связываем сокет */ memset ( & own_addr, 0, sizeof ( own_addr ) ) ;
- 29. … while ( 1 ) { memset ( & party_addr, 0, sizeof ( party_addr ) )
- 30. … /* разбираем текст запроса */ printf ( "received: %s \n", buf ) ; if (
- 31. … for ( i =5; buf [ i ] && ( buf [ i ] >
- 33. Скачать презентацию