Сообщение от Алексея Муравицкого от 8 сентября 2023Схема разделения потоков данныхВ ветке 1 дракон-схемы показан поток управления.
Слева от потока управления находится входной поток данных.
Справа от потока управления находится выходной поток данных.
Схема разделения потоков данных показывает преобразование входного потока данных в выходной поток данных.
Вложение:
Схема разделение потоков.png [ 46.14 КБ | Просмотров: 147 ]
TCP — Transmission Control Protocol
Что такое дескриптор?
Цитата:
В программировании дескриптор — это абстрактная ссылка на ресурс , который используется, когда прикладное программное обеспечение ссылается на блоки памяти или объекты, которыми управляет другая система, например база данных или операционная система .
Дескриптор ресурса может быть непрозрачным идентификатором , и в этом случае он часто представляет собой целое число (часто индекс массива в массиве или «таблице», которая используется для управления этим типом ресурса) или это может быть указатель , разрешающий доступ. для получения дополнительной информации.
Общие дескрипторы ресурсов включают дескрипторы файлов , сетевые сокеты , подключения к базе данных , идентификаторы процессов (PID) и идентификаторы заданий .. PID и идентификаторы заданий представляют собой явно видимые целые числа; хотя файловые дескрипторы и сокеты (которые часто реализуются как форма файлового дескриптора) представляются как целые числа, они обычно считаются непрозрачными.
В традиционных реализациях файловые дескрипторы являются индексами таблицы файловых дескрипторов (для каждого процесса) , а затем и (общесистемной) таблицы файлов .
Что такое сокет?
Цитата:
Сокет (программный интерфейс)
Материал из Википедии — свободной энциклопедии
Со́кет (англ. socket — разъём) — название программного интерфейса для обеспечения обмена данными между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой только сетью. Сокет — абстрактный объект, представляющий конечную точку соединения.
Следует различать клиентские и серверные сокеты. Клиентские сокеты грубо можно сравнить с конечными аппаратами телефонной сети, а серверные — с коммутаторами.
Клиентское приложение (например, браузер) использует только клиентские сокеты, а серверное (например, веб-сервер, которому браузер посылает запросы) — как клиентские, так и серверные сокеты.
Интерфейс сокетов впервые появился в BSD Unix. Программный интерфейс сокетов описан в стандарте POSIX.1 и в той или иной мере поддерживается всеми современными операционными системами.
Принципы сокетов
Для взаимодействия между машинами с помощью стека протоколов TCP/IP используются адреса и порты. Адрес представляет собой 32-битную структуру для протокола IPv4, 128-битную для IPv6. Номер порта — целое число в диапазоне от 0 до 65535 (для протокола TCP).
Эта пара определяет сокет («гнездо», соответствующее адресу и порту).
В процессе обмена, как правило, используется два сокета — сокет отправителя и сокет получателя. Например, при обращении к серверу на HTTP-порт сокет будет выглядеть так: 194.106.118.30:80, а ответ будет поступать на mmm.nnn.ppp.qqq:xxxxx.
Каждый процесс может создать «слушающий» сокет (серверный сокет) и привязать его к какому-нибудь порту операционной системы (в UNIX непривилегированные процессы не могут использовать порты меньше 1024).
Слушающий процесс обычно находится в цикле ожидания, то есть просыпается при появлении нового соединения. При этом сохраняется возможность проверить наличие соединений на данный момент, установить тайм-аут для операции и т. д.
Каждый сокет имеет свой адрес. ОС семейства UNIX могут поддерживать много типов адресов, но обязательными являются INET-адрес и UNIX-адрес. Если привязать сокет к UNIX-адресу, то будет создан специальный файл (файл сокета) по заданному пути, через который смогут сообщаться любые локальные процессы путём чтения/записи из него (см. сокет домена Unix). Сокеты типа INET доступны из сети и требуют выделения номера порта.
Обычно клиент явно «подсоединяется» к слушателю, после чего любое чтение или запись через его файловый дескриптор будут передавать данные между ним и сервером.
См. также
Сокеты Беркли
Сокет домена UNIX
Интерфейс транспортного уровня
Список портов TCP и UDP
WebSocket