21.5.2 Пассивное открытие сервера TCP

21.5.2 Пассивное открытие сервера TCP

Сервер готовится к принятию запроса на соединение и пассивно ожидает обращения клиентов. При подготовке он выполняет ряд запросов:

socket() Сервер идентифицирует тип связи (в данном случае TCP). Локальная система создает соответствующую структуру данных TCB для взаимодействия с сервером и возвращает дескриптор socket.
bind() Сервер устанавливает локальный IP-адрес и порт, которыми он будет пользоваться. Вспомним, что хост может иметь несколько IP-адресов. Сервер может применять один IP-адрес или указать, что желает принимать соединения от любого локального IP-адреса. Он может запросить определенный порт или разрешить связывание запроса с одним из доступных свободных портов.
listen() Сервер устанавливает длину очереди для клиентов.
accept() Сервер готов принимать соединения от клиентов. Если очередь не пуста, принимается первый полученный клиентский запрос. Запрос accept() создает новый TCB, который будет использоваться для соединения этого клиента и возвращать новый дескриптор соединения серверу.

Обычно применяется синхронная форма приема запросов, чтобы при пустой очереди accept() ожидал появления следующего клиента до ответа на полученный запрос.

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

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

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

Открытие SCM

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

Открытие SCM Для создания службы требуется отдельный процесс, выступающий в качестве "администратора" и играющий во многом ту же роль, что и программа JobShell, которая использовалась в главе 6 для запуска задач. Первый шаг состоит в открытии SCM и получении дескриптора, который


16.6.1. Открытие псевдотерминалов

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

16.6.1. Открытие псевдотерминалов Существует широкое разнообразие способов открытия псевдотерминалов. Обычно это делается (по крайней мере, в Linux) способом, более или менее соответствующим стандартам, основанным на SysV, а также устаревшим способом, основанным на практике BSD.


Открытие файла

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

Открытие файла fopenОткрывает файл и привязывает его к дескриптору.Синтаксис:int fopen(string $filename, string $mode, bool $use_include_path=false)Открывает файл с именем $filename в режиме $mode и возвращает дескриптор открытого файла. Если операция "провалилась", то функция возвращает false. Необязательный


Открытие документа

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

Открытие документа pdf_set_infoЗаполнение поля информации документа.Синтаксис:void pdf_set_info(int pdf_document, string fieldname, string value)Возможные поля fieldname:Функция должна вызываться до создания страниц.<?php$fd = fopen("test.pdf", "w");$pdfdoc = pdf_open($fd);pdf_set_info($pdfdoc, "Author", "Имя автора");pdf_set_info($pdfdoc, "Creator", "Название


14.5.2. Пассивное подслушивание

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

14.5.2. Пассивное подслушивание Пассивный сниффинг — прослушивание пакетов, которые проходят непосредственно через вашу сетевую карту. Такой метод удобен только при соединении компьютеров через общую шину и в сетях с топологией "Звезда", где центром выступает хаб (см.


Открытие рисунков

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

Открытие рисунков Программа AutoCAD по умолчанию записывает внутреннее представление рисунка в файл с расширением DWG. Кроме рисунка файл содержит ряд параметров, определяющих значения переключателей режимов шага SNAP, сетки GRID, ортогонального режима ORTHO; принятые единицы


Открытие документа

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

Открытие документа Существует несколько способов открыть файл InDesign – от двойного щелчка кнопкой мыши на значке файла в окне Проводника до перетаскивания значка на рабочую область программы. Не ставя себе целью перечислить все возможные способы, мы ограничимся


Открытие документа

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

Открытие документа Открыть документ Photoshop или любой другой растровый файл можно с помощью команды File ? Open (Файл ? Открыть). Окно команды открытия, как и окно команды сохранения, может отображаться в двух видах: в стиле Adobe или в стиле, приближенном к стандарту Windows (рис. 7.9). В


Открытие документа

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

Открытие документа Для открытия созданного ранее документа Word выполните команду Открыть в меню Кнопки «Office» (либо нажмите комбинацию клавиш Ctrl+O). В результате откроется окно, изображенное на рис. 2.12. Рис. 2.12. Открытие документа ВНИМАНИЕ Чтобы пользовательский шаблон


Открытие файлов

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

Открытие файлов Файл должен быть открыт функциями open, sopen или creat до выполнения первой операции ввода или вывода с использованием функций нижнего уровня для этого файла.Файл может быть открыт для чтения, записи, или для чтения и записи, может быть открыт в текстовом или в


Открытие рисунков

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

Открытие рисунков Программа AutoCAD по умолчанию записывает внутреннее представление рисунка в файл с расширением DWG.AutoCAD предлагает многооконную среду проектирования Multiple Design Environment (MDE), которая допускает одновременное открытие нескольких чертежей. Открыть существующий


8.3.3 Открытие Файлов

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

8.3.3 Открытие Файлов Точные детали того, как открываются и закрываются файлы, различаются в разных операционных системах и здесь подробно не описываются. Поскольку после включения «stream.h» станвятся доступны cin, cout и cerr, во многих (если не во всех) программах не нужно держать


Открытие проекта

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

Открытие проекта Эта задача подразумевает официальный запуск проекта SAP, на котором должны присутствовать все ведущие и топ-менеджеры, члены организационного комитета, менеджеры проекта SAP, участники команды проекта, консультанты SAP, а также представители партнеров и


8.5. Открытие файла

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

8.5. Открытие файла Чтобы открыть файл, необходимо выполнить команду File ? Open (Файл ? Открыть). Лучше, конечно, вместо этого использовать стандартное клавиатурное сокращение Ctrl+O. Но самый удобный способ выполнять команду Open (Открыть) – это даже не клавиатурное сокращение.


13.5. Открытие документов

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

13.5. Открытие документов Для открытия документа используется команда меню Файл, Открыть. Ей соответствует комбинация клавиш. В результате выполнения данной команды откроется окно Открытие документа, в котором вы сможете выбрать файл (рис. 132). Рис. 132. Открытие


Открытие папок

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

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