В рассмотренном примере большая часть исходного текста посвящена созданию транспортных узлов и установлению соединения, в то время как завершение сеанса связи представлено скупыми вызовами
Функции
#include
int t_sndrel(int fd);
int t_rcvrel(int fd);
Вызывая функцию fd
доступен для чтения.
Другая сторона подтверждает получение уведомления вызовом функции TLOOK
.
Эта ошибка свидетельствует, что произошло событие, связанное с коммуникационным узлом, анализ которого позволяет получить дополнительную информацию о причине неудачи. Текущее событие может быть получено с помощью функции
#include
int t_look(int fildes);
Функция возвращает идентификатор, соответствующий одному из событий, перечисленных в табл. 6.6.
Таблица 6.6. События, связанные с коммуникационным узлом
Событие | Значение |
---|---|
T_CONNECT | Узлом получено подтверждение создания соединения |
T_DISCONNECT | Узлом получен запрос на разрыв соединения |
T_DATA | Узлом получены данные |
T_EXDATA | Узлом получены экстренные данные |
T_LISTEN | Узлом получен запрос на установление соединения |
T_ORDREL | Узлом получен запрос на корректное прекращение связи |
T_ERROR | Свидетельствует о фатальной ошибке |
T_UDERR | Свидетельствует об ошибке датаграммы |
Если в рассматриваемом случае событием, связанным с ошибкой T_ORDREL
, это означает, что удаленный узел завершил передачу данных и более не нуждается в соединении. Если узел, получивший запрос на прекращение связи, не возражает против полного прекращения сеанса, он вызывает функцию
Проиллюстрируем описанную процедуру фрагментом программы, обрабатывающей корректное прекращение связи:
while (t_rcv(fd) != -1) {
/* Выполняем обработку принятых данных */
...
}
if (t_errno == T_LOOK && t_look(fd) == T_ORDREL) {
/* Значит, получен запрос на корректное прекращение связи.
Мы согласны на завершение сеанса, поэтому также корректно
завершаем связь */
t_rcvrel(fd);
t_sndrel(fd);
exit(0);
} else {
t_error("Ошибка получения данных (t_rcv)");
exit(1);
}
Программный интерфейс высокого уровня.
Удаленный вызов процедур
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии