Книга: UNIX: разработка сетевых приложений

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 = AF_INET;
12  servaddr.sin_port = htons(SERV_PORT);
13  Inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
14  Connect(sockfd, (SA*)&servaddr, sizeof(servaddr));
15  str_cli(stdin, sockfd); /* эта функция выполняет все необходимые
                               действия со стороны клиента */
16  exit(0);
17 }

Создание сокета, заполнение структуры его адреса

9-13 Создается сокет TCP и структура адреса сокета заполняется IP-адресом сервера и номером порта. IP-адрес сервера мы берем из командной строки, а известный номер порта сервера (SERV_PORT) — из нашего заголовочного файла unp.h.

Соединение с сервером

14-15 Функция connect устанавливает соединение с сервером. Затем функция str_cli (см. листинг 5.4) выполняет все необходимые действия со стороны клиента.

Оглавление книги


Генерация: 1.612. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз