передача файлового дескриптора через интернет-сокет - PullRequest
1 голос
/ 07 ноября 2011
Дескриптор файла

может быть передан от одного процесса другому на том же хосте с помощью доменного сокета UNIX. Может кто-нибудь, пожалуйста, скажите, если есть способ передать файловый дескриптор между процессами на другом хосте ??

Ответы [ 3 ]

5 голосов
/ 07 ноября 2011

Нет способа передать дескриптор файла между процессами на другом хосте.

Причина в том, что файл дескриптор является ссылкой на файл description структура в ядре.Когда вы передаете файловый дескриптор другому процессу на том же хосте, этот процесс просто ссылается на то же существующее описание файла в ядре.Принимая во внимание, что того же описания файла не существует в ядре другого хоста.

3 голосов
/ 07 ноября 2011

Нет способа передать дескриптор файла удаленному процессу.Как это может быть?Файловый дескриптор относится к ресурсу ввода-вывода, предоставленному локальным компьютером (даже если это сетевой сокет, потому что тогда сокет относится к сетевому соединению с участием локального компьютера), который может быть недоступен на удаленном хосте.

1 голос
/ 07 ноября 2011

Файловый дескриптор - это, по сути, индекс набора таблиц на локальном компьютере, поэтому другой компьютер не может использовать тот же файловый дескриптор.

...