RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Обмен данными через файлы


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Improver
To : Slavik Gnatenko
Subj : Обмен данными через файлы

> > > > Файл пишется одной прогой, после чего практически мгновенно читается другой и удаляется.
> > > Объясните непрограммисту - пайпы разве не для этого придумали?
> > +100500. Но предложение осталось неуслышанным...
> > Хотя это и быстрее, и удобнее, чем писать на винт, и ещё ресурс винта сбережёт, какая бы там ФС не стояла. Использовать RAMFS тоже можно, но это будет больше похоже на попытку эмуляции через Ж тех же пайпов...
> Случаи разные бывают. В частности пайпы предполагают предварительное снюхивание, т.е. пайп должен быть открыт с обоих сторон. Кроме того размер буфера сильно ограничен и пишущий поток может заблокироваться. А в файлы можно писать и в одностороннем порядке предполагая, что кто-то их потом прочитает и предел ограничен только местом на FS. С файлами, конечно, всё равно остаётся органическая грабля байтового IPC: получающий может начать читать данные до того, как пакет полностью сформирован.

Да, случаи бывают разные, но в плане того, что описано в первом посте этой ветки использование одного или нескольких пайпов удовлетворяет всем условиям. И размер буфера можно задать достаточным для любого возможного (в рамках данной задачи) пакета данных. Нужно просто немного отойти от ДОСовского подхода к этому вопросу...


Tue 19 Apr 2011 08:10 Mozilla/5.0 (OS/2; U; Warp 4.5; ru; rv:1.9.1.17) Gecko/20110




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.