16.5. Неблокируемая функция connect: веб-клиент

16.5. Неблокируемая функция connect: веб-клиент

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Голубятня: Globusbook 950 Connect Сергей Голубицкий

Из книги Цифровой журнал «Компьютерра» № 67 [02.05.2011 — 08.05.2011] автора Журнал «Компьютерра»

Голубятня: Globusbook 950 Connect Сергей Голубицкий Опубликовано 05 мая 2011 года Сегодня у нас на видеопрезентации — очередная игрушка от милого моему сердцу «Глобуса»: электронная ибукса, укомплектованная 3G минирутером и USB-модемом от Мегафона — GLOBUSBOOK 950


Структура сети Direct Connect

Из книги Как найти и скачать в Интернете любые файлы автора Райтман М. А.

Структура сети Direct Connect Как уже упоминалось ранее, сеть Direct Connect (Прямое соединение) — это децентрализованная сеть, состоящая из отдельных серверов-коммутаторов (хабов), к которым подключаются компьютеры пользователей для обмена файлами. Пользователи могут искать и


Оператор CONNECT

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен


4.3. Функция connect

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

4.3. Функция connect Функция connect используется клиентом TCP для установления соединения с сервером TCP.#include <sys/socket.h>int connect(int sockfd, const struct sockaddr *servaddr, socklen_t addrlen);Возвращает: 0 в случае успешного выполнения функции, -1 в случае ошибкиАргумент sockfd — это дескриптор сокета,


5.4. Эхо-клиент TCP: функция main

Из книги автора

5.4. Эхо-клиент TCP: функция main В листинге 5.3 показана функция main TCP-клиента.Листинг 5.3. Эхо-клиент TCP//tcpcliserv/tcpcli01.c 1 #include "unp.h" 2 int 3 main(int argc, char **argv) 4 { 5  int sockfd; 6  struct sockaddr_in servaddr; 7  if (argc != 2) 8   err_quit("usage: tcpcli <Ipaddress>"); 9  sockfd = Socket(AF_INET, SOCK_STREAM, 0);10  bzero(&servaddr. sizeof(servaddr));11  servaddr.sin_family


5.5. Эхо-клиент TCP: функция str_cli

Из книги автора

5.5. Эхо-клиент TCP: функция str_cli Эта функция, показанная в листинге 5.4, обеспечивает отправку запроса клиента и прием ответа сервера в цикле. Функция считывает строку текста из стандартного потока ввода, отправляет ее серверу и считывает отраженный ответ сервера, после чего


8.5. Эхо-клиент UDP: функция main

Из книги автора

8.5. Эхо-клиент UDP: функция main Функция main клиента UDP показана в листинге 8.3.Листинг 8.3. Эхо-клиент UDP//udpcliserv/udpcli01.c 1 #include "unp.h" 2 int 3 main(int argc, char **argv) 4 { 5  int sockfd; 6  struct sockaddr_in servaddr; 7  if (argc != 2) 8   err_quit("usage: udpcli <Ipaddress>"); 9  bzero(&servaddr, sizeof(servaddr));10  servaddr.sin_family = AF_INET;11  servaddr.sin_port =


8.6. Эхо-клиент UDP: функция dg_cli

Из книги автора

8.6. Эхо-клиент UDP: функция dg_cli В листинге 8.4 показана функция dg_cli, которая выполняет большую часть работы на стороне клиента.Листинг 8.4. Функция dg_cli: цикл обработки клиента//lib/dg_cli.c 1 #include "unp.h" 2 void 3 dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen) 4 { 5  int n; 6  char sendline[MAXLINE], recvline[MAXLINE + 1]; 7 


8.11. Функция connect для UDP

Из книги автора

8.11. Функция connect для UDP В конце разделе 8.9 мы упомянули, что асинхронные ошибки не возвращаются на сокете UDP, если сокет не был присоединен. На самом деле мы можем вызвать функцию connect для сокета UDP (см. раздел 4.3). Но это не приведет ни к чему похожему на соединение TCP: здесь не


Тайм-аут для функции connect (сигнал SIGALRM)

Из книги автора

Тайм-аут для функции connect (сигнал SIGALRM) В листинге 14.1[1] показана наша функция connect_timeo, вызывающая функцию connect с ограничением по времени, заданным вызывающим процессом. Первые три аргумента — это аргументы, которых требует функция connect, а четвертый — это длительность


16.3. Неблокируемая функция connect

Из книги автора

16.3. Неблокируемая функция connect Когда сокет TCP устанавливается как неблокируемый, а затем вызывается функция connect, она немедленно возвращает ошибку EINPROGRESS, однако трехэтапное рукопожатие TCP продолжается. Далее мы с помощью функции select проверяем, успешно или нет завершилось


16.4. Неблокируемая функция connect: клиент времени и даты

Из книги автора

16.4. Неблокируемая функция connect: клиент времени и даты В листинге 16.7 показана наша функция connect_nonb, вызывающая неблокируемую функцию connect. Мы заменяем вызов функции connect, имеющийся в листинге 1.1, следующим фрагментом кода:if (connect_nonb(sockfd, (SA*)&servaddr, sizeof(servaddr), 0) < 0)err_sys("connect


Прерванная функция connect

Из книги автора

Прерванная функция connect Что происходит, если наш вызов функции connect на обычном блокируемом сокете прерывается, скажем, перехваченным сигналом, прежде чем завершится трехэтапное рукопожатие TCP? Если предположить, что функция connect не перезапускается автоматически, то она


16.6. Неблокируемая функция accept

Из книги автора

16.6. Неблокируемая функция accept Как было сказано в главе 6, функция select сообщает, что прослушиваемый сокет готов для чтения, когда установленное соединение готово к обработке функцией accept. Следовательно, если мы используем функцию select для определения готовности входящих