дескриптор сокета по сравнению с дескриптором файла

читайте (2) и запись (2) работы оба на дескрипторе сокета, а также на дескрипторе файла. В случае дескриптора файла, Пользовательской таблицы дескрипторов файлов-> таблица файлов и наконец к inode таблице, где это проверяет на тип файла (регулярный файл/символ/блок) и читает соответственно. В случае символа spl файл, это получает указатели функции на основе главного количества файла от символьного переключателя устройства и называет соответствующие стандартные программы чтения-записи зарегистрированными для устройства. Столь же соответствующую стандартную программу чтения-записи называют для блока специальным файлом путем получения указателей функции от переключателя блочного устройства.

Могли Вы сообщать мне, какой exatly происходит, когда чтение-запись обратилось к дескриптору сокета. Если чтение-запись работает над дескриптором сокета, мы наклоняемся, мы используем открытый вместо сокета для получения дескриптора?

11
задан Ganesh Kundapur 13 August 2010 в 08:38
поделиться

2 ответа

Дескрипторы сокетов также связаны с файловыми структурами, но набор функций file_operations для этих структур отличается от обычного. Поэтому инициализация и использование этих дескрипторов различаются. Чтение и запись части интерфейса уровня ядра оказались в точности эквивалентными.

3
ответ дан 3 December 2019 в 08:28
поделиться

чтение и запись допустимы для некоторых типов сокетов в некоторых состояниях; все это зависит от различных структур, которые передаются внутри ядра.

В принципе open () может создать дескриптор сокета, но API сокетов BSD никогда не определялся таким образом.

Существуют и другие (в некоторой степени специфичные для Linux) типы файловых дескрипторов, которые открываются системными вызовами, отличными от open (), например epoll_create или timerfd_create. Они работают одинаково.

0
ответ дан 3 December 2019 в 08:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: