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, связывает все адреса интерфейсовБолее 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
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, и создает
10.1.2 TCP и модель клиент/сервер
10.1.2 TCP и модель клиент/сервер TCP естественным образом интегрируется в окружение клиент/сервер (см. рис. 10.1). Серверное приложение прослушивает (listen) поступающие запросы на соединение. Например, службы WWW, пересылки файлов или доступа с терминала прослушивают запросы,
4.2. Приложение типа клиент-сервер
4.2. Приложение типа клиент-сервер Пример приложения модели клиент-сервер приведен на рис. 4.1. Именно на него мы будем ссылаться в тексте этой главы и главы 6 при необходимости проиллюстрировать использование программных каналов, FIFO и очередей сообщений System V.Клиент
6.7. Пример программы клиент-сервер
6.7. Пример программы клиент-сервер Перепишем наш пример программы типа клиент-сервер из раздела 4.2 с использованием двух очередей сообщений. Одна из очередей предназначена для передачи сообщений от клиента серверу, а другая — в обратную сторону.Заголовочный файл svmsg.h
11.6.8.4. Пара клиент/сервер
11.6.8.4. Пара клиент/сервер Пара клиент/сервер подобна паре драйвер/ядро, за исключением того, что часть ядра является запущенным в фоновом режиме демоном, от которого не требуется интерактивная работа и наличие собственного пользовательского интерфейса. Обычно демон
11.6.8.4. Пара клиент/сервер
11.6.8.4. Пара клиент/сервер Пара клиент/сервер подобна паре драйвер/ядро, за исключением того, что часть ядра является запущенным в фоновом режиме демоном, от которого не требуется интерактивная работа и наличие собственного пользовательского интерфейса. Обычно демон
1.2 Понятие архитектуры клиент-сервер.
1.2 Понятие архитектуры клиент-сервер. В подавляющем большинстве случаев локальная сеть используется для коллективного доступа к базам данных. Существует два подхода к организации коллективного доступа данным. Первый подход заключается в том , что файлы данных
2.2.9.1 Взаимодействие клиент-сервер
2.2.9.1 Взаимодействие клиент-сервер Продукты INFORMIX построены на принципах архитектуры клиент/сервер. Это означает, что сервер INFORMIX-OnLine DS выполняется на одном компьютере, а клиентские приложения выполняются на других компьютерах, связанных с сервером сетью. При этом от
Клиент-сервер
Клиент-сервер Средства локального доступа.* Локальная заглушка TCP/IP. Для многоуровневых серверных приложений и других клиентов доступ к локальному серверу на любой поддерживаемой платформе осуществляется через протокол TCP/IP: даже при отсутствии сетевой карты соединение
Проектирование систем клиент-сервер
Проектирование систем клиент-сервер Факт, что системы клиент-сервер должны быть спроектированы для использования в сетях. Для новичков часто бывает потрясением открытие того, что "молниеносно выполняемая" задача, которая работала в приложении под Paradox или Access, занимает
Двухуровневая архитектура клиент-сервер
Двухуровневая архитектура клиент-сервер На рис. 6.1 изображена гибкая система, где множество серверов Firebird выполняются на платформах с различными операционными и файловыми системами. Здесь присутствует смесь рабочих станций, на которых выполняются удаленные клиенты,
Динамические приложения клиент-сервер
Динамические приложения клиент-сервер Во время выполнения программы приложениям часто бывают нужны операторы SQL, которые создаются или изменяются приложениями или вводятся пользователями. Приложения обычно предоставляют пользователю списки выбора, извлекаемые из
XSLT в архитектуре клиент-сервер
XSLT в архитектуре клиент-сервер Многие из систем, применяющих XSLT, так или иначе, сводятся к клиент- серверной архитектуре, в которой клиент делает запрос, а сервер в качестве ответа возвращает некоторые данные. XSLT в таких решениях может использоваться для приведения