Теория и практика программирования на Си в Unix

СОПОСТАВЛЕНИЕ TLI И СОКЕТОВ


Таблица 5.4. устанавливает соответствие между программами TLI и примитивами сокетов (по [AAT&T 90]). Вызовы TLI покрывают все вызовы сокетов. Таким образом, мож- но эмулировать сокет-интерфейс с библиотекой TLI. Необходимо, однако, отметить, что некоторые примитивы, ука-занные в таблице вместе, функционируют по-разному: например, listen () и t_listen, accept () и t_accept ()...


Таблица 5.4. Примитивы TLI и сокетов.



TLI Сокеты Описание
t_open socket Возвращает дескриптор
t_bind bind Связывает имя с десктиптором
t_optmgmt setsocket Выставляет опции транспорта
t_unbind Уничтожает точку доступа транспорта
t_close close Уничтожает ресурсы, связанные с точкой доступа транспорта
t_getinfo getsockpoint Возвращает информацию о транспорте
t_getstate ioctl,fcntl,stat Возвращает сосотояние точки доступа траспорта
t_alloc

t_free

Выделяет или освобождает память
t_look oictl Читает событие, связанное с точкой доступа транспорта
t_error perror Выдает сообщение об ошибке в незалодированном виде
t_connect connect Устпнвливает соединение с удаленным устройством
t_listen listen Установка в состояние ожидания запросов на соединение
t_accept accept Согласие на на входящее соединение
t_snd

putmsg

send

sendto

sendmsg

Запись данных в режиме соединения
t_rcv

getmsg

recv

recvfrom

recvmsg

Чтение данных в режиме соединения
t_snudata sendto

sendmsg

Запись данных в режиме отсутствия соединения
t_rcvudata recvfrom

recvmsg

Чтение данных в режиме отсутствия соединения
read

write

read

write

Чтение и запись данных в режиме соединения.Для TLI необходимо

ввести модуль tirdwr в STREAM

t_snddis

t_rcvdis

Отсоедтняет точку доступа транспорта
t_sndrel

t_rcvrel

shutdown Освобождает точку доступа транспорта

Следует отметить, что имеется большое сходство в использовании сокетов и библиотеки TLI, причем сложность TLI несколько больше, вследствие ее большей ориентированности на требования стандартов транспортной службы ISO.
В System V Release 4 услуги, оказываемые сокетами, реализуются в форме библиотеки-надстройки над STREAMS. Системные вызовы сокетов системы BSD становятся здесь библиотечными программами. Отсюда некоторые семантические различия, описанные в документации AT&T, которые, при небрежной обработке, рискуют вызвать сбои при переносе программы с одной системы на другую.



Содержание раздела