Передача файла через каналы/pipe

278
18 мая 2017, 12:11

Пишу клиент/серверное приложение, клиент вводит имя файла, сервер ищет етот файл у себя и передает его клиенту. Не могу найти никакого способа передачи файла от сервера к клиенту.

Answer 1

Вы не указали интересующую Вас ОС, поэтому вкратце опишу ситуацию для unix. Вряд ли для Вашей задачи подойдут pipe, так как неименованные каналы обычно используются для связи родительского и дочернего процесса:

  • родительский процесс создает неименованный канал и порождает дочерний процесс;
  • один из процессов закрывает у себя, например, дескриптор на чтение, второй - закрывает дескриптор на запись, - получается соединение в одну сторону: родитель пишет данные, потомок читает, или наоборот.

Если ваш клиент и сервер выполняются на одной и той же машине, то для передачи файла можно посмотреть в сторону именованных каналов fifo. Они похожи на pipe, но, в отличие от них, имеют имя в файловой системе, и потому могут использоваться процессами, не связанными "родственными узами". Создаются именованные каналы с помощью функций mkfifo() или mknod().

Если же Ваши клиент и сервер запущены на разных машинах, и Вам требуется передавать данные через сеть, то Вам придется познакомиться с механизмом сетевых сокетов socket().

READ ALSO
MSVC 2013 не находит подключенные .h файлы

MSVC 2013 не находит подключенные .h файлы

Доброго дняОпыта работы с студией не так много и каждый новый проект сталкиваюсь с новыми приключениями

224
Сохранение данных в JSON-файл с помощью Node.js

Сохранение данных в JSON-файл с помощью Node.js

Смысл вопроса создал простою страницу с списком товаров, названим, описанием, эта тянется с json через XMLHttpRequestПри клике выводиться название...

441
Не видит Jquery в React

Не видит Jquery в React

react не видит обычных js библиотекНикто не знает как просто без глубокого изучения webpack подключить js-библиотеку к react?

390
Чтение открытого веб-сокета сайта с помощью расширения chrome

Чтение открытого веб-сокета сайта с помощью расширения chrome

Здравствуйте, есть сайт на котором открывается соединение через websocket и через него постоянно идут нужные мне данные, мне их нужно получать...

216