Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в 21 локации

От 104 рублей в месяц

Безлимитный трафик. Защита от ДДоС.

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]

     

Unix: разработка сетевых приложений

Стивенс У.

Издано: 2003, "Питер"
ISBN: 5-318-00535-7
Твердый переплет, 1088 стр.

Начало
Краткое содержание
Введение
[Заказать книгу в магазине "Мистраль"]

Содержание

    • Содержание
    • Предисловие
    • Введение
    • Изменения по сравнению с первым изданием
    • Кому адресована эта книга
    • Исходный код и замеченные опечатки
    • Благодарности
    • Об авторе
    • От издательства
  • ЧАСТЬ 1. ВВЕДЕНИЕ И ПРОТОКОЛЫ TCP/IP
  • Глава 1. Введение в сетевое программирование
    • 1.1. Введение
    • 1.2. Простой клиент времени и даты
    • 1.3. Независимость от протокола
    • 1.4. Обработка ошибок: функции-обертки
      • Значение системной переменной Unix ermo
    • 1.5. Простой сервер времени и даты
    • 1.6. Список примеров технологии клиент-сервер, используемых в книге
    • 1.7. Модель OSI
    • 1.8. История сетей BSD
    • 1.9. Сети и узлы, используемые в примерах
      • Определение топологии сети
    • 1.10. Стандарты Unix
      • Posix
      • Open Group
      • Internet Engineering Task Force
      • Версии Unix и переносимость
    • 1.11.64-разрядные архитектуры
    • 1.12. Резюме
      • Упражнения
  • Глава 2. Транспортный уровень: TCP и UDP
    • 2.1. Введение
    • 2.2. Обзор протоколов TCP/IP
    • 2.3. UDP: протокол пользовательских дейтаграмм
    • 2.4. TCP: протокол управления передачей
    • 2.5. Установление и завершение соединения TCP
      • Трехэтапное рукопожатие
      • Параметры TCP
      • Разрыв соединения TCP
      • Диаграмма состояний TCP
      • Просмотр пакетов
    • 2.6. Состояние TIME_WAIT
    • 2.7. Номера портов
      • Пара сокетов
    • 2.8. Номера портов TCP и параллельные серверы
    • 2.9. Размеры буфера и ограничения
      • Отправка по TCP
      • Отправка по UDP
    • 2.10. Стандартные службы Интернета
    • 2.11. Использование протоколов приложениями Интернета
    • 2.12. Резюме
      • Упражнения
  • ЧАСТЬ 2. ЭЛЕМЕНТАРНЫЕ СОКЕТЫ
  • Глава 3. Введение в сокеты
    • 3.1. Введение
    • 3.2. Структуры адреса сокетов
      • Структура адреса сокета IPv4
      • Универсальная структура адреса сокета
      • Структура адреса сокета IPv6
      • Сравнение структур адреса сокетов
    • 3.3. Аргументы типа «значение-результат»
    • 3.4. Функции определения порядка байтов
    • 3.5. Функции управления байтами
    • 3.6. Функции inet_aton, inet_addr и inet_ntoa
    • 3.7. Функции inet_pton и inet_ntop
      • Пример
    • 3.8. Функция sock_ntop и связанные с ней функции
    • 3.9. Функции readn, writen и readline
    • 3.10. Функция isfdtype
    • 3.11. Резюме
      • Упражнения
  • Глава 4. Элементарные сокеты TCP
    • 4.1. Введение
    • 4.2. Функция socket
      • Сравнение AF_xxx и PF_xxx
    • 4.3. Функция connect
    • 4.4. Функция bind
    • 4.5. Функция listen
    • 4.6. Функция accept
      • Пример: аргументы типа «значение-результат»
    • 4.7. Функции fork и ехес
    • 4.8. Параллельные серверы
    • 4.9. Функция close
      • Счетчик ссылок дескриптора
    • 4.10. Функции getsockname и getpeername
      • Пример: получение семейства адресов сокста
    • 4.11. Резюме
      • Упражнения
  • Глава 5. Пример TCP-соединения клиент-сервер
    • 5.1. Введение
    • 5.2. Эхо-сервер TCP: функция main
    • 5.3. Эхо-сервер TCP: функция sti_ccho
    • 5.4. Эхо-клиент TCP: функция main
    • 5.5. Эхо-клиент TCP: функция str_cli
    • 5.6. Нормальный запуск
    • 5.7. Нормальное завершение
    • 5.8. Обработка сигналов Posix
      • Функция signal
      • Семантика сигналов Posix
    • 5.9. Обработка сигналов SIGCHLD
      • Обработка зомбированных процессов
      • Обработка прерванных системных вызовов
    • 5.10. Функции wait и waitpid
      • Различия между функциями wait и waitpid
    • 5.11. Прерывание соединения перед завершением функции accept
    • 5.12. Завершение процесса сервера
    • 5.13. Сигнал SIGPIPE
    • 5.14. Сбой на узле сервера
    • 5.15. Сбой и перезагрузка на узле сервера
    • 5.16. Выключение узла сервера
    • 5.17. Итоговый пример TCP
    • 5.18. Формат данных
      • Пример: передача текстовых строк между клиентом и сервером
      • Пример: передача двоичных структур между клиентом и сервером
    • 5.19. Резюме
      • Упражнения
  • Глава 6. Мультиплексирование ввода-вывода: функции select и poll
    • 6.1. Введение
    • 6.2. Модели ввода-вывода
      • Модель блокируемого ввода-вывода
      • Модель неблокируемого ввода-вывода
      • Модель мультиплексирования ввода-вывода
      • Модель ввода-вывода, управляемого сигналом
      • Модель асинхронного ввода-вывода
      • Сравнение моделей ввода-вывода
      • Сравнение синхронного и асинхронного ввода-вывода
    • 6.3. Функция select
      • При каких условиях дескриптор становится готовым?
      • Максимальное число дескрипторов для функции select
    • 6.4. Функция sti_cli (продолжение)
    • 6.5. Пакетный ввод
    • 6.6. Функция shutdown
    • 6.7. Функция str_cli (еще раз)
    • 6.8. Эхо-сервер TCP (продолжение)
      • Атака типа «отказ в обслуживании»
    • 6.9. Функция pselect
    • 6.10. Функция poll
    • 6.11. Эхо-сервер TCP (еще раз)
    • 6.12. Резюме
      • Упражнения
  • Глава 7. Параметры сокетов
    • 7.1. Введение
    • 7.2. Функции getsockopt и setsockopt
    • 7.3. Проверка наличия параметра и получение значения по умолчанию
    • 7.4. Состояния сокетов
    • 7.5. Общие параметры сокетов
      • Параметр сокета SO_BROADCAST
      • Параметр сокета SO_DEBUG
      • Параметр сокета SO_DONTROUTE
      • Параметр сокета SO_ERROR
      • Параметр сокета SO_KEEPALIVE
      • Параметр сокета SO_LINGER
      • Параметр сокета SO_OOBINLINE
      • Параметры сокета SO_RECVBUF и SO_SNDBUF
      • Параметры сокета SO_RCVLOWAT и SO_SNDLOWAT
      • Параметры сокета SO_RCVTIMEO и SO_SNDTIMEO
      • Параметры сокета SO_REUSEADDR и SO_REUSEPORT
      • Параметр сокета SO_TYPE
      • Параметр сокета SOJJSELOOPBACK
    • 7.6. Параметры сокетов IPv4
      • Параметр сокета IP_HRDINCL
      • Параметр сокета IP_OPTIONS
      • Параметр сокета IP_RECVDSTADDR
      • Параметр сокета IP_RECVIF
      • Параметр сокета IP_TOS
      • Параметр сокета IP_TTL
    • 7.7. Параметр сокета ICMPvG
      • Параметр сокета ICMP6_FILTER
    • 7.8. Параметры сокетов IPv6
      • Параметр сокета IPv6_ADDRFORM
      • Параметр сокета IPv6_CHECKSUM
      • Параметр сокета IPv6_DSTOPTS
      • Параметр сокета IPv6_HOPLIMIT
      • Параметр сокета IPv6_HOPOPTS
      • IPv6_NEXTHOP
      • Параметр сокета IPv6_PKTINFO
      • Параметр сокета IPv6_PKTOPTIONS
      • Параметр сокета IPv6_RTHDR
      • Параметр сокета IPv6_UNICAST_HOPS
    • 7.9. Параметры сокетов TCP
      • Параметр сокета TCP_KEEPALIVE
      • Параметр сокета TCPJUAXRT
      • Параметр сокета TCP_MAXSEG
      • Параметр сокета TCP_NODELAY
      • Параметр сокета TCP_STDURG
    • 7.10. Функция fenti
    • 7.11. Резюме
      • Упражнения
  • Глава 8. Основные сведения о сокетах UDP
    • 8.1. Введение
    • 8.2. Функции recvfrom и sendto
    • 8.3. Эхо-сервер UDP: функция main
    • 8.4. Эхо-сервер: функция dg_echo
    • 8.5. Эхо-клиент UDP: функция main
    • 8.6. Эхо-клиент UDP: функция dg_cli
    • 8.7. Потерянные дейтаграммы
    • 8.8. Проверка полученного ответа
    • 8.9. Запуск клиента без запуска сервера
    • 8.10. Итоговый пример клиент-сервера UDP
    • 8.11. Функция connect для UDP
      • Многократный вызов функции connect для сокета UDP
      • Производительность
    • 8.12. Функция dg_cli (продолжение)
    • 8.13. Отсутствие управления потоком в UDP
      • Приемный буфер сокета UDP
    • 8.14. Определение исходящего интерфейса для UDP
    • 8.15. Эхо-сервер TCP и UDP, использующий функцию select
    • 8.16. Резюме
      • Упражнения
  • Глава 9. Элементарные преобразования имен и адресов
    • 9.1. Введение
    • 9.2. Система доменных имен
      • Записи ресурсов
      • Распознаватели и серверы имен
      • Альтернативы UNS
    • 9.3. Функция gethostbyname
      • Пример
    • 9.4. Параметр распознавателя RES_USE_INET6
    • 9.5. Функция gethostbyname2 и поддержка IPv6
    • 9.6. Функция gethostbyaddr
      • Функция gethostbyaddr и поддержка IPv6
    • 9.7. Функция uname
      • Пример: определение IP-адресов локального узла
    • 9.8. Функция gethostname
    • 9.9. Функции getservbyname и getservbyport
      • Пример: использование функций gethostbyname и getservbyname
    • 9.10. Другая информация о сетях
    • 9.11. Резюме
      • Упражнения
  • ЧАСТЬ 3. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ СОКЕТОВ
  • Глава 10. Совместимость IPv4 и IPv6
    • 10.1. Введение
    • 10.2. Клиент IPv4, сервер IPv6
    • 10.3. Клиент IPv6, сервер IPv4
      • Резюме: совместимость IPv4 и IPv6
    • 10.4. Макроопределения проверки адреса IPv6
    • 10.5. Параметр сокета IPv6_ADDRFORM
    • 10.6. Переносимость исходного кода
    • 10.7. Резюме
      • Упражнения
  • Глава 11. Дополнительные преобразования имен и адресов
    • 11.1. Введение
    • 11.2. Функция getaddrinfo
    • 11.3. Функция gai_strerror
    • 11.4. Функция freeaddrinfo
    • 11.5. Функция getaddrinfo: IPv6 и доменный сокет Unix
    • 11.6. Функция getaddrinfo: примеры
    • 11.7. Функция host_serv
    • 11.8. Функция tcp_connect
      • Пример: клиент времени и даты
    • 11.9. Функция tcp_listcn
      • Пример: сервер времени и даты
      • Пример: сервер времени и даты с указанием протокола
    • 11.10. Функция udp_client
      • Пример: не зависящий от протокола клиент времени и даты
    • 11.11. Функция udp__connect
    • 11.12. Функция udp_server
      • Пример: не зависящий от протокола сервер времени и даты
    • 11.13. Функция getnameinfo
    • 11.14. Функции, допускающие повторное вхождение
    • 11.15. Функции gethostbynamc_r и gethostbyaddr_r
    • 11.16. Реализация функций getaddrinfo и getnameinfo
      • Создание структуры addrinfo для каждого адреса
    • 11.17. Резюме
      • Упражнения
  • Глава 12. Процессы-демоны и суперсервер inetd
    • 12.1. Введение
    • 12.2. Демон syslogd
    • 12.3. Функция syslog
    • 12.4. Функция daemon_init
      • Пример: сервер времени и даты в качестве демона
    • 12.5. Демон inetd
    • 12.6. Функция daemon_inetd
      • Пример: сервер времени и даты, активизированный демоном inetd
    • 12.7. Резюме
      • Упражнения
  • Глава 13. Дополнительные функции ввода-вывода
    • 13.1. Введение
    • 13.2. Тайм-ауты сокета
      • Тайм-аут для функции connect (сигнал SIGALRM)
      • Тайм-аут для функции recvfrom (сигнал SIGALRM)
      • Тайм-аут для функции recvtrom (функция select)
      • Тайм-аут для функции recvfrom (параметр сокета SO_RCVTIMEO)
    • 13.3. Функции recv и send
    • 13.4. Функции readv и writev
    • 13.5. Функции recvmsg и scndmsg
    • 13.6. Вспомогательные данные
    • 13.7. Сколько данных находится в очереди?
    • 13.8. Сокеты и стандартный ввод-вывод
      • Пример: функция sti_echo, использующая стандартный ввод-вывод
    • 13.9. Т/ТСР: TCP для транзакций
    • 13.10. Резюме
      • Упражнения
  • Глава 14. Доменные протоколы Unix
    • 14.1. Введение
    • 14.2. Структура адреса доменного сокета Unix
      • Пример: функция bind и доменный сокет Unix
    • 14.3. Функция socketpair
    • 14.4. Функции сокетов
    • 14.5. Клиент и сервер потокового доменного протокола Unix
    • 14.6. Клиент и сервер дейтаграммного доменного протокола Unix
    • 14.7. Передача дескрипторов
      • Пример передачи дескриптора
    • 14.8. Получение информации об отправителе
      • Пример
    • 14.9. Резюме
      • Упражнения
  • Глава 15. Неблокируемый ввод-вывод
    • 15.1. Введение
    • 15.2. Неблокируемые чтение и запись: функция str_cli (продолжение)
      • Более простая версия функции str_cli
      • Сравнение времени выполнения различных версий
      • функции str_cli
    • 15.3. Неблокируемая функция connect
    • 15.4. Неблокируемая функция connect: клиент времени и даты
      • Прерванная функция connect
    • 15.5. Неблокируемая функция connect: клиент Web
      • Эффективность одновременных соединений
    • 15.6. Неблокируемая функция accept
    • 15.7. Резюме
      • Упражнения
  • Глава 16. Операции функции ioctl
    • 16.1. Введение
    • 16.2. Функция ioctl
    • 16.3. Операции с сокетами
    • 16.4. Операции с файлами
    • 16.5. Конфигурация интерфейса
    • 16.6. Функция get_ifi_info
    • 16.7. Операции с интерфейсами
    • 16.8. Операции с кэшем ARP
      • Пример: вывод аппаратного адреса узла
    • 16.9. Операции с таблицей маршрутизации
    • 16.10. Резюме
      • Упражнения
  • Глава 17. Маршрутизирующие сокеты
    • 17.1. Введение
    • 17.2. Структура адреса сокета канального уровня
    • 17.3. Чтение и запись
      • Пример: получение и вывод записи из таблицы маршрутизации
    • 17.4. Операции функции syscti
      • Пример: определяем, включены ли контрольные суммы UDP
    • 17.5. Функция get_ifi_info
    • 17.6. Функции имени и индекса интерфейса
      • Функция if_nametoindex
      • Функция if_indextoname
      • Функция if_nameindex
      • Функция if_freenameindex
    • 17.7. Резюме
      • Упражнения
  • Глава 18. Широковещательная передача
    • 18.1. Введение
    • 18.2. Широковещательные адреса
    • 18.3. Сравнение направленной и широковещательной передач
    • 18.4. Функция dg_cli при использовании широковещательной передачи
      • IP-фрагментация и широковещательная передача
    • 18.5. Ситуация гонок
      • Применение IРС в обработчике сигнала функции
    • 18.6. Резюме
      • Упражнения
  • Глава 19. Многоадресная передача
    • 19.1. Введение
    • 19.2. Адрес многоадресной передачи
      • Адреса IPv4 класса D
      • Адреса многоадресной передачи IPv6
      • Область действия адресов многоадресной передачи
    • 19.3. Сравнение многоадресной и широковещательной передач в локальной сети
    • 19.4. Многоадресная передача в глобальной сети
    • 19.5. Параметры сокетов многоадресной передачи
    • 19.6. Функция mcastJoin и родственные функции
      • Пример: функция mcast_join
      • Пример: функция mcast_set_loop
    • 19.7. Функция dg_cli, использующая многоадресную передачу
      • Фрагментация IP и многоадресная передача
    • 19.8. Получение анонсов сеанса МВone
    • 19.9. Отправка и получение
    • 19.10. SNTP: простой синхронизирующий сетевой протокол
    • 19.11. SNTP (продолжение)
    • 19.12. Резюме
      • Упражнения
  • Глава 20. Дополнительные сведения о сокетах UDP
    • 20.1. Введение
    • 20.2. Получение флагов, IP-адреса получателя и индекса интерфейса
      • Пример: вывод IP-адреса получателя и уведомления о том, что дейтаграмма обрезана
    • 20.3. Обрезанные дейтаграммы
    • 20.4. Когда UDP оказывается предпочтительнее TCP
    • 20.5. Добавление надежности приложению UDP
      • Пример
    • 20.6. Связывание с адресами интерфейсов
    • 20.7. Параллельные серверы UDP
    • 20.8. Информация о пакете IPv6
      • Исходящий и входящий интерфейс
      • Адрес отправителя и адрес получателя IPv6
      • Задание и получение предельного количества транзитных узлов
      • Задание адреса следующего транзитного узла
    • 20.9. Резюме
      • Упражнения
  • Глава 21. Внеполосные данные
    • 21.1. Введение
    • 21.2. Внеполосные данные протокола TCP
      • Простой пример использования сигнала SIGURG
      • Простой пример использования функции select
    • 21.3. Функция sockatmark
      • Пример
      • Пример
      • Пример
    • 21.4. Резюме по теме внеполосных данных TCP
    • 21.5. Клиент-серверные функции проверки пульса
    • 21.6. Резюме
      • Упражнения
  • Глава 22. Управляемый сигналом ввод-вывод
    • 22.1. Введение
    • 22.2. Управляемый сигналом ввод-вывод для сокетов
      • Сигнал SIGIO и сокеты UDP
      • Сигнал SIGIO и сокеты TCP
    • 22.3. Эхо-сервер UDP с использованием сигнала SIGIO
    • 22.4. Резюме
      • Упражнение
  • Глава 23. Программные потоки
    • 23.1. Введение
    • 23.2. Основные функции для работы с потоками: создание и завершение потоков
      • Функция pthrcad_create
      • Функция pthread_jom
      • Функция pthread_self
      • Функция pthread_detach
      • Функция pthread_exit
    • 23.3. Использование потоков в функции str_cli
    • 23.4. Использование потоков в эхо-сервере TCP
      • Передача аргументов новым потокам
      • Функции, безопасные в многопоточной среде
    • 23.5. Собственные данные потоков
      • Пример: функция readline, использующая собственные данные потока
    • 23.6. Web-клиент и одновременное соединение (продолжение)
    • 23.7. Взаимные исключения
    • 23.8. Условные переменные
    • 23.9. Web-клиент и одновременный доступ
    • 23.10. Резюме
      • Упражнения
  • Глава 24. Параметры IP
    • 24.1. Введение
    • 24.2. Параметры IPv4
    • 24.3. Параметры маршрута от отправителя IPv4
      • Пример
      • Уничтожение маршрута, полученного от отправителя
    • 24.4. Заголовки расширения IPv6
    • 24.5. Параметры транзитных узлов и параметры получателя IPv6
    • 24.6. Заголовок маршрутизации IPv6
    • 24.7. «Закрепленные» параметры IPv6
    • 24.8. Резюме
      • Упражнения
  • Глава 25. Символьные сокеты
    • 25.1. Введение
    • 25.2. Создание символьных сокетов
    • 25.3. Вывод на символьном сокете
      • Особенности символьного сокета версии IPv6
      • Параметр сокета IPv6_CHECKSUM
    • 25.4. Ввод через символьный сокет
      • Фильтрация ICMPv6
    • 25.5. Программа Ping
    • 25.6. Программа Traceroute
      • Пример
    • 25.7. Демон сообщений IСМР
      • Эхо-клиент UDP, использующий демон icrnpd
      • Примеры эхо-клиента UDP
      • Демон icmpd
    • 25.8. Резюме
      • Упражнения
  • Глава 26. Доступ к канальному уровню
    • 26.1. Введение
    • 26.2. BPF: пакетный фильтр BSD
    • 26.3. DLPI: интерфейс поставщика канального уровня
    • 26.4. Linux: SOCK_PACKET
    • 26.5. Libcap: библиотека для захвата пакетов
    • 26.6. Анализ поля контрольной суммы UDP
      • Пример
    • 26.7. Резюме
      • Упражнения
  • Глава 27. Альтернативное устройство клиента и сервера
    • 27.1. Введение
    • 27.2. Альтернативы для клиента TCP
    • 27.3. Тестовый клиент TCP
    • 27.4. Последовательный сервер TCP
    • 27.5. Параллельный сервер TCP: один дочерний процесс для каждого клиента
    • 27.6. Сервер TCP с предварительным порождением процессов без блокировки для вызова accept
      • Реализация 4.4BSD
      • Эффект наличия слишком большого количества дочерних процессов
      • Распределение клиентских соединений между дочерними процессами
      • Коллизии при вызове функции select
    • 27.7. Сервер TCP с предварительным порождением процессов и защитой вызова accept блокировкой файла
      • Эффект наличия слишком большого количества дочерних процессов
      • Распределение клиентских соединений между дочерними процессами
    • 27.8. Сервер TCP с предварительным порождением процессов и защитой вызова accept при помощи взаимного исключения
    • 27.9. Сервер TCP с предварительным порождением процессов: передача дескриптора
    • 27.10. Параллельный сервер TCP: один поток для каждого клиента
    • 27.11. Сервер TCP с предварительным порождением потоков, каждый из которых вызывает accept
    • 27.12. Сервер с предварительным порождением потоков: основной поток вызывает функцию accept
    • 27.13. Резюме
      • Упражнения
  • ЧАСТЬ 4. XTI: ТРАНСПОРТНЫЙ ИНТЕРФЕЙС X/OPEN
  • Глава 28. XTI: TCP-клиенты
    • 28.1. Введение
    • 28.2. Функция t_open
    • 28.3. Функции t_error и t_strerror
    • 28.4. Структуры netbufH структуры протокола XTI
    • 28.5. Функция t_bind
    • 28.6. Функция t_connect
    • 28.7. Функции t_rcv и t_snd
    • 28.8. Функция t_look
    • 28.9. Функции t_sndrel и t_rcvrel
    • 28.10. Функции t_snddis и t_rcvdis
    • 28.11. Клиент времени и даты для протоколов XTI и TCP
      • Возможность взаимодействия сокетов и XTI
    • 28.12. Функция xti_rdwr
    • 28.13. Резюме
      • Упражнения
  • Глава 29. XTI: функции имен и адресов
    • 29.1. Введение
    • 29.2. Файл /etc/netconfig и функции netconfig
    • 29.3. Переменная NETPATH и функция netpath
    • 29.4. Функции netdir
    • 29.5. Функции t_alloc и t_free
    • 29.6. Функции t_getprotaddr
    • 29.7. Функция xti_ntop
    • 29.8. Функция tcp_connect
      • Пример
    • 29.9. Резюме
      • Упражнения
  • Глава 30. XTI: TCP-серверы
    • 30.1. Введение
    • 30.2. Функция t_listen
    • 30.3. Функция tcp_listen
    • 30.4. Функция t_accept
    • 30.5. Функция xti_accept
    • 30.6. Простой сервер времени и даты
    • 30.7. Несколько соединений, ожидающих обработки
    • 30.8. Функция xti_accept (еще раз)
      • Длина очереди XTI и аргумент backlog функции listen
      • Установка сервером единичной длины очереди
    • 30.9. Резюме
      • Упражнения
  • Глава 31. XTI: клиенты и серверы UDP
    • 31.1. Введение
    • 31.2. Функции t_rcvudata и t_sndudata
    • 31.3. Функция udp_client
      • Пример: клиент времени и даты
    • 31.4. Функция t_rcvuderr: асинхронные ошибки
      • Пример: сообщение IСМР о недоступности порта
    • 31.5. Функция udp_server
      • Пример: сервер времени и даты
    • 31.6. Чтение дейтаграммы по частям
    • 31.7. Резюме
  • Глава 32. Параметры XTI
    • 32.1. Введение
    • 32.2. Структура t_opthdr
    • 32.3. Параметры XTI
      • Параметр XTI_DEBUG
      • Параметр XTI_LINGER
      • Параметры XTI_RCVBUF и XTI_RCVLOWAT
      • Параметры XTI_SNDBUF и XTI_SNDLOWAT
      • Параметр T_IP_BROADCAST
      • Параметр T_IP_DONTROUTE
      • Параметр T_IP_OPTIONS
      • Параметр T_IP_REUSEADDR
      • Параметр T_IP_TOS
      • Параметр T_IP_TTL
      • Параметр T_TCP_KEEPALIVE
      • Параметр T_TCP_MAXSEG
      • Параметр T_TCP_NODELAY
      • Параметр T_UDP_CHECKSUM
    • 32.4. Функция t_optmgmt
    • 32.5. Проверка наличия параметра и получение значения по умолчанию
    • 32.6. Получение и установка значений параметров ХТI
      • Функция xti_getopt
      • Функция xti_setopt
      • Пример
    • 32.7. Резюме
  • Глава 33. Потоки
    • 33.1. Введение
    • 33.2. Обзор
      • Типы сообщений
    • 33.3. Функции getmsg и putmsg
    • 33.4. Функции gctpmsg и putpmsg
    • 33.5. Функция iocti
    • 33.6. TPI: интерфейс поставщика транспортных служб
    • 33.7. Резюме
      • Упражнение
  • Глава 34. ХТI: дополнительные функции
    • 34.1. Введение
    • 34.2. Неблокируемый ввод-вывод
    • 34.3. Функция t_rcvconnect
    • 34.4. Функция t_getinfo
    • 34.5. Функция t_getstatc
    • 34.6. Функция t_sync
    • 34.7. Функция t_unbind
    • 34.8. Функции t_rcvv и t_rcvvudata
    • 34.9. Функции t_sndv и t_sndvudata
    • 34.10. Функции t_rcvreldata и t_sndreldata
    • 34.11. Управляемый сигналом ввод-вывод
    • 34.12. Внеполосные данные
      • Пример использования сигнала SIGPOLL
      • Пример использования функции poll
    • 34.13. Поставщики транспортных служб закольцовки
    • 34.14. Резюме
  • Приложение А. Протоколы IPv4, IPv6, ICMPv4 и ICMPv6
    • A.I. Введение
    • A.2. Заголовок IPv4
    • А.З. Заголовок IPv6
    • А.4. Адресация IPv4
      • Бесклассовые адреса и CIDR
      • Адреса подсетей
      • Адрес закольцовки
      • Неопределенный адрес
      • Многоинтерфейсность и псевдонимы адресов
    • А.5. Адресация IPv6
      • Объединяемые глобальные индивидуальные адреса
      • Тестовые адреса 6bone
      • Адреса IPv4, преобразованные к виду IPv6
      • Адреса IPv4, совместимые с IPv6
      • Адрес закольцовки
      • Неопределенный адрес
      • Адрес локальной связи
      • Адрес, локальный на уровне сайта
    • А.6. ICMPv4 и ICMPv6: протокол управляющих сообщений в сети Интернет
  • Приложение Б. Виртуальные сети
    • Б.1. Введение
    • Б.2. МВone
    • Б.З. 6bone
  • Приложение В. Техника отладки
    • B.1. Трассировка системного вызова
      • Библиотека потоковых сокетов SVR4
      • Потоковая XTI-библиотека SVR4
      • Сокеты ядра BSD
      • Сокеты ядра Solaris 2.6
    • В.2. Стандартные службы Интернета
    • В.3. Программа sock
    • В.4. Небольшие тестовые программы
      • Пример: определение полосы приоритета внеполосных данных ХТI
      • Пример: определение события для получения внеполосных (срочных) данных ХТI
    • В.5. Программа tcpdump
    • В.6. Программа netstat
    • В.7. Программа Isof
  • Приложение Г. Различные исходные коды
    • Г.1. Заголовочный файл unp.h
    • Г.2. Заголовочный файл config.h
    • Г.З. Заголовочный файл unpxti.h
    • Г.4. Стандартные функции обработки ошибок
  • Приложение Д. Решения некоторых упражнений
    • Глава 1
    • Глава 2
    • Глава 3
    • Глава 4
    • Глава 5
    • Глава 6
    • Глава 7
    • Глава 8
    • Глава 9
    • Глава 10
    • Глава 11
    • Глава 12
    • Глава 13
    • Глава 14
    • Глава 15
    • Глава 16
    • Глава 17
    • Глава 18
    • Глава 19
    • Глава 20
    • Глава 21
    • Глава 22
    • Глава 23
    • Глава 24
    • Глава 25
    • Глава 26
    • Глава 27
    • Глава 28
    • Глава 29
    • Глава 30
    • Глава 33
  • Литература
  • Алфавитный указатель

Начало
Краткое содержание
Введение
[Заказать книгу в магазине "Мистраль"]

 

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...