1.6. Таблица соответствия примеров технологии клиент-сервер

1.6. Таблица соответствия примеров технологии клиент-сервер

Технологии сетевого программирования иллюстрируются в этой книге на двух основных примерах:

? клиент-сервер времени и даты (описание которого мы начали в листингах 1.1, 1.2 и 1.5), и

? эхо-клиент-сервер (который появится в главе 5).

Чтобы обеспечить удобный поиск различных тем, которых мы касаемся в этой книге, мы объединили разработанные нами программы и сопроводили их номерами листингов, в которых приведен исходный код. В табл. 1.1 перечислены версии клиента времени и даты (две из них мы уже видели). В табл. 1.2 перечисляются версии сервера времени и даты. В табл. 1.3 представлены версии эхо-клиента, а в табл. 1.4 — версии эхо-сервера.

Таблица 1.1. Различные версии клиента времени и даты

Листинг Описание
1.1 TCP/Ipv4, зависимый от протокола
1.2 TCP/Ipv6, зависимый от протокола
11.2 TCP/Ipv4, зависимый от протокола, вызывает функции gethostbyname и getservbyname
11.5 TCP, независимый от протокола, вызывает функции getaddrinfo и tcp_connect
11.10 UDP, независимый от протокола, вызывает функции getaddrinfo и udp_connect
16.7 TCP, использует неблокирующую функцию connect
31.2 TCP/IPv4, зависимый от протокола
Д.1 TCP, зависимый от протокола, генерирует SIGPIPE
Д.2 TCP, зависимый от протокола, печатает размер буфера сокета и MSS
Д.5 TCP, зависимый от протокола, допускает использование имени узла (функция gethostbyname) или IP-адреса
Д.6 TCP, независимый от протокола, допускает использование имени узла (функция gethostbyname).

Таблица 1.2. Различные версии сервера времени и даты, рассматриваемые в данной книге

Листинг Описание
1.5 TCP/IPv4, зависимый от протокола
11.7 TCP, независимый от протокола, вызывает getaddrinfo и tcp_listen
11.8 TCP, независимый от протокола, вызывает getaddrinfo и tcp_listen
11.13 UDP, независимый от протокола, вызывает getaddrinfo и udp_server
13.2 TCP, независимый от протокола, выполняется как автономный демон
13.4 TCP, независимый от протокола, порожденный демоном inetd

Таблица 1.3. Различные версии эхо-клиента, рассматриваемые в данной книге

Листинг Описание
5.3 TCP/IPv4, зависимый от протокола
6.1 TCP, использует функцию select
6.2 TCP, использует функцию select и работает в пакетном режиме
8.3 UDP/IPv4, зависимый от протокола
8.5 UDP, проверяет адрес сервера
8.7 UDP, вызывает функцию connect для получения асинхронных ошибок
14.2 UDP, тайм-аут при чтении ответа сервера с использованием сигнала SIGALRM
14.4 UDP, тайм-аут при чтении ответа сервера с использованием функции select
14.5 UDP, тайм-аут при чтении ответа сервера с использованием опции сокета SO_RCVTIMEO
14.7 TCP, использует интерфейс /dev/poll
14.8 TCP, использует интерфейс kqueue
15.4 Поток домена Unix, зависит от протокола
15.6 Дейтаграмма домена Unix, зависит от протокола
16.1 TCP, использует неблокируемый ввод-вывод
16.6 TCP, использует два процесса (функцию fork)
16.14 TCP, устанавливает соединение, затем посылает пакет RST
20.1 UDP, широковещательный, ситуация гонок
20.2 UDP, широковещательный, ситуация гонок
20.3 UDP, широковещательный, для устранения ситуации гонок используется функция pselect
20.5 UDP, широковещательный, для устранения ситуации гонок используются функции sigsetjmp и siglongmp
20.6 UDP, широковещательный, для устранения ситуации гонок в обработчике сигнала используется IPC
22.4 UDP, увеличение надежности протокола за счет применения повторной передачи, тайм-аутов и порядковых номеров
26.1 TCP, использование двух потоков
27.4 TCP/IPv4, задание маршрута от отправителя
27.5 UDP/IPv6, задание маршрута от отправителя

Таблица 1.4. Различные версии эхо-сервера, рассматриваемые в данной книге

Листинг Описание
5.1 TCP/IPv4, зависимый от протокола
5.9 TCP/IPv4, зависимый от протокола, корректно обрабатывает завершение всех дочерних процессов
6.3 TCP/IPv4, зависимый от протокола, использует функцию select, один процесс обрабатывает всех клиентов
6.5 TCP/IPv4, зависимый от протокола, использует функцию poll, один процесс обрабатывает всех клиентов
8.1 UDP/IPv4, зависимый от протокола
8.14 TCP и UDP/IPv4, зависимый от протокола, использует функцию select
14.6 TCP, использует стандартный ввод-вывод
15.3 Доменный сокет Unix, зависимый от протокола
15.5 Дейтаграмма домена Unix, зависит от протокола
15.13 Доменный сокет Unix, с передачей данных, идентифицирующих клиента
22.3 UDP, печатает полученный IP-адрес назначения и имя полученного интерфейса, обрезает дейтаграммы
22.13 UDP, связывает все адреса интерфейсов
25.2 UDP, использование модели ввода-вывода, управляемого сигналом
26.2 TCP, один поток на каждого клиента
26.3 TCP, один поток на каждого клиента, машинонезависимая (переносимая) передача аргумента
27.4 TCP/IPv4, печатает полученный маршрут от отправителя
27.6 UDP/IPv4, печатает полученный маршрут от отправителя и обращает его
28.21 UDP, использует функцию icmpd для получения асинхронных ошибок
Д.9 UDP, связывает все адреса интерфейсов
Поделитесь на страничке

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

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

1.2 Понятие архитектуры клиент-сервер.

Из книги Руководство администратора баз данных Informix. автора Кустов Виктор

1.2 Понятие архитектуры клиент-сервер. В подавляющем большинстве случаев локальная сеть используется для коллективного доступа к базам данных. Существует два подхода к организации коллективного доступа данным. Первый подход заключается в том , что файлы данных


2.2.9.1 Взаимодействие клиент-сервер

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

2.2.9.1 Взаимодействие клиент-сервер Продукты INFORMIX построены на принципах архитектуры клиент/сервер. Это означает, что сервер INFORMIX-OnLine DS выполняется на одном компьютере, а клиентские приложения выполняются на других компьютерах, связанных с сервером сетью. При этом от


11.6.8.4. Пара клиент/сервер

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

11.6.8.4. Пара клиент/сервер Пара клиент/сервер подобна паре драйвер/ядро, за исключением того, что часть ядра является запущенным в фоновом режиме демоном, от которого не требуется интерактивная работа и наличие собственного пользовательского интерфейса. Обычно демон


11.6.8.4. Пара клиент/сервер

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

11.6.8.4. Пара клиент/сервер Пара клиент/сервер подобна паре драйвер/ядро, за исключением того, что часть ядра является запущенным в фоновом режиме демоном, от которого не требуется интерактивная работа и наличие собственного пользовательского интерфейса. Обычно демон


4.2. Приложение типа клиент-сервер

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

4.2. Приложение типа клиент-сервер Пример приложения модели клиент-сервер приведен на рис. 4.1. Именно на него мы будем ссылаться в тексте этой главы и главы 6 при необходимости проиллюстрировать использование программных каналов, FIFO и очередей сообщений System V.Клиент


6.7. Пример программы клиент-сервер

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

6.7. Пример программы клиент-сервер Перепишем наш пример программы типа клиент-сервер из раздела 4.2 с использованием двух очередей сообщений. Одна из очередей предназначена для передачи сообщений от клиента серверу, а другая — в обратную сторону.Заголовочный файл svmsg.h


10.1.2 TCP и модель клиент/сервер

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

10.1.2 TCP и модель клиент/сервер TCP естественным образом интегрируется в окружение клиент/сервер (см. рис. 10.1). Серверное приложение прослушивает (listen) поступающие запросы на соединение. Например, службы WWW, пересылки файлов или доступа с терминала прослушивают запросы,


XSLT в архитектуре клиент-сервер

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

XSLT в архитектуре клиент-сервер Многие из систем, применяющих XSLT, так или иначе, сводятся к клиент- серверной архитектуре, в которой клиент делает запрос, а сервер в качестве ответа возвращает некоторые данные. XSLT в таких решениях может использоваться для приведения


Клиент-сервер

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

Клиент-сервер Средства локального доступа.* Локальная заглушка TCP/IP. Для многоуровневых серверных приложений и других клиентов доступ к локальному серверу на любой поддерживаемой платформе осуществляется через протокол TCP/IP: даже при отсутствии сетевой карты соединение


Проектирование систем клиент-сервер

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

Проектирование систем клиент-сервер Факт, что системы клиент-сервер должны быть спроектированы для использования в сетях. Для новичков часто бывает потрясением открытие того, что "молниеносно выполняемая" задача, которая работала в приложении под Paradox или Access, занимает


Двухуровневая архитектура клиент-сервер

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

Двухуровневая архитектура клиент-сервер На рис. 6.1 изображена гибкая система, где множество серверов Firebird выполняются на платформах с различными операционными и файловыми системами. Здесь присутствует смесь рабочих станций, на которых выполняются удаленные клиенты,


Динамические приложения клиент-сервер

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

Динамические приложения клиент-сервер Во время выполнения программы приложениям часто бывают нужны операторы SQL, которые создаются или изменяются приложениями или вводятся пользователями. Приложения обычно предоставляют пользователю списки выбора, извлекаемые из


12.2. Клиент IPv4, сервер IPv6

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

12.2. Клиент IPv4, сервер IPv6 Общим свойством узла с двойным стеком является то, что серверы IPv6 могут выполнять обслуживание клиентов IPv4 и IPv6. Это достигается за счет преобразования адресов IPv4 к виду IPv6 (см. рис. А.6). Пример такого преобразования приведен на рис. 12.1. Рис. 12.1.


12.3. Клиент IPv6, сервер IPv4

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

12.3. Клиент IPv6, сервер IPv4 Теперь мы поменяем протоколы, используемые клиентом и сервером в примере из предыдущего раздела. Сначала рассмотрим TCP-клиент IPv6, запущенный на узле с двойным стеком протоколов.1. Сервер IPv4 запускается на узле, поддерживающем только IPv4, и создает