15.11. Досрочное завершение клиента или сервера

15.11. Досрочное завершение клиента или сервера

В наших примерах до настоящего момента предполагалось, что в процессе работы клиента и сервера не возникает непредусмотренных ситуаций. Посмотрим, что произойдет, если у клиента или сервера возникнут ошибки. В случае если клиент и сервер являются частями одного процесса (локальный вызов процедуры на рис. 15.1), клиенту не нужно беспокоиться о возникновении ошибок на сервере, и наоборот. Однако если клиент и сервер находятся в различных процессах, нужно учесть возможность досрочного завершения одного из них и предусмотреть способ уведомления второго об этом событии. Об этом нужно заботиться вне зависимости от того, находятся ли клиент и сервер на одном узле или нет.

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

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

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

Спонсоры лизинга сервера (и клиента)

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Спонсоры лизинга сервера (и клиента) Заключительной темой нашего связанного с лизингом обсуждения цикла существования САО-типов и WKO-синглетов будет спонсорство лизинга. Как вы только что убедились, для каждого объекта САО-типа и WKO-синглета имеются параметры лизинга,


Досрочное завершение сервера

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

Досрочное завершение сервера Если клиент блокируется в вызове door_call, ожидая получения результатов, ему нужно каким-то образом получить уведомление о завершении потока сервера по какой-либо причине. Посмотрим, что происходит в этом случае, прервав работу сервера вызовом


Досрочное завершение клиента

Из книги Сетевые средства Linux автора Смит Родерик В.

Досрочное завершение клиента Посмотрим, каким образом процедура сервера получает уведомление о досрочном завершении клиента. Пpoгрaммa-клиeнт приведена в листинге 15.25.Листинг 15.25. Клиент, досрочно завершающий работу после вызова door_call//doors/clientintr4.c1  #include "unpipc.h"2  int3  main(int


16.7. Досрочное завершение сервера или клиента

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

16.7. Досрочное завершение сервера или клиента Рассмотрим, что произойдет в случае досрочного завершения клиента или сервера при использовании транспортного протокола TCP. Поскольку протокол UDP не подразумевает установку соединения, при завершении процесса его


Досрочное завершение сервера

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

Досрочное завершение сервера Завершим работу сервера досрочно, в процессе обработки запроса клиента. Единственное изменение в программе-клиенте будет заключаться в удалении аргумента tcp из вызова clnt_call в листинге 16.2 и включении протокола в набор аргументов командной


Досрочное завершение клиента

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

Досрочное завершение клиента Если клиент, использующий TCP, завершает работу в процессе выполнения процедуры RPC, серверу отправляется пакет FIN. Мы хотим узнать, как библиотека сервера реагирует на этот пакет и уведомляет об этом процедуру сервера. (В разделе 15.11 мы говорили,


Указание LPRng-сервера на стороне клиента

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

Указание LPRng-сервера на стороне клиента Файл /etc/printcap в системе LPRng используется аналогично одноименному файлу в системе BSD LPD. В частности, опции lp, rm и rp, которые обсуждались выше в данной главе, применимы как в BSD LPD, так и в LPRng. Большинство других опций также может


Определение сервера CUPS на стороне клиента

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

Определение сервера CUPS на стороне клиента Для добавления принтеров к системе CUPS используется утилита lpadmin, вызываемая из командной строки или доступная посредством специального графического интерфейса. Кроме того, эта задача может решаться с помощью Web-броузера; для


Хранение писем на стороне клиента и на стороне сервера

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

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


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

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

Взаимодействие клиента и сервера в системе X Window Пользователи, не искушенные в вопросах применения вычислительной техники и сетевых протоколов, представляют себе сервер как большой мощный компьютер, находящийся в отдельной комнате. Пользователи работают за клиентскими


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

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

Взаимодействие клиента и сервера VNC Излагая материал данной главы, я пытался обратить внимание на роль различных клиентских и серверных программ в процессе сетевого взаимодействия. Как вы уже знаете, один и тот же компьютер может действовать как сервер по одному


Создание резервной копии клиента Windows с помощью сервера Linux

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

Создание резервной копии клиента Windows с помощью сервера Linux Резервное копирование, инициализируемое сервером, с применением Samba осуществляется почти так же, как и копирование по инициативе сервера с использованием NFS, но работа с продуктом Samba и системой Windows имеет ряд


5.12. Завершение процесса сервера

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

5.12. Завершение процесса сервера Теперь мы запустим соединение клиент-сервер и уничтожим дочерний процесс сервера. Это симулирует сбой процесса сервера, благодаря чему мы сможем выяснить, что происходит с клиентом в подобных ситуациях. (Следует точно различать сбой


8.9. Запуск клиента без запуска сервера

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

8.9. Запуск клиента без запуска сервера Следующий сценарий, который мы рассмотрим, — это запуск клиента без запуска сервера. Если мы сделаем так и введем одну строку на стороне клиента, ничего не будет происходить. Клиент навсегда блокируется в своем вызове функции recvfrom,


Глава 30 Альтернативное устройство клиента и сервера

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

Глава 30 Альтернативное устройство клиента и сервера 30.1. Введение При написании сервера под Unix мы можем выбирать из следующих вариантов управления процессом:? Наш первый сервер, показанный в листинге 1.5, был последовательным (iterative), но количество сценариев, для которых