Книга: UNIX: взаимодействие процессов
4.2. Приложение типа клиент-сервер
4.2. Приложение типа клиент-сервер
Пример приложения модели клиент-сервер приведен на рис. 4.1. Именно на него мы будем ссылаться в тексте этой главы и главы 6 при необходимости проиллюстрировать использование программных каналов, FIFO и очередей сообщений System V.
Клиент считывает полное имя (файла) из стандартного потока ввода и записывает его в канал IPC. Сервер считывает это имя из канала IPC и производит попытку открытия файла на чтение. Если попытка оказывается успешной, сервер считывает файл и записывает его в канал IPC. В противном случае сервер возвращает клиенту сообщение об ошибке. Клиент считывает данные из канала IPC и записывает их в стандартный поток вывода. Если сервер не может считать файл, из канала будет считано сообщение об ошибке. В противном случае будет принято содержимое файла. Две штриховые линии между клиентом и сервером на рис. 4.1 представляют собой канал IPC.
Рис. 4.1. Пример приложения типа клиент-сервер
- 4.1. Введение
- 4.2. Приложение типа клиент-сервер
- 4.3. Программные каналы
- 4.4. Двусторонние каналы
- 4.5. Функции popen и pclose
- 4.6. Именованные каналы (FIFO)
- 4.7. Некоторые свойства именованных и неименованных каналов
- 4.8. Один сервер, несколько клиентов
- 4.9. Последовательные и параллельные серверы
- 4.10. Потоки и сообщения
- 4.11. Ограничения программных каналов и FIFO
- 4.12. Резюме
- Упражнения
- Сокет типа «один-к-одному»
- Варианты активизации для MBR-типа: WKO и CAO
- Пример: одна очередь на приложение
- 13.4. Совместимость на стороне клиента
- Запуск InterBase-сервера
- Расширенная установка InterBase-сервера
- Совместимость клиентов и серверов различных версий
- Клиенты 3-го диалекта
- Статистика InterBase-сервера
- Сервер для InterBase
- Аватар идеального клиента
- 1.3.3. Достоинства и недостатки анонимных прокси-серверов