LINUX.ORG.RU

Вопрос по организации обмена данными


0

1

Всем добрый день. В линуксе я новичек. Стоит такая задача. Есть сторонняя программа обработки данных. Данные могут приниматься по TCP соединению, Com порту и из файлов. Результаты расчетов выдаваться тоже по этим каналам. Моей программе написанной на Qt необходимо с ней взаимодействовать, те запускать, конфигурировать каналы,передавать и получать данные. Скорость обмена - до 10 раз в секунду, объем данных до 1 кБ за обмен. В файл писать не рекомендуется, тк файловая система находится на Flash карте.Ее конфигурация описывается в конфигурационном файле. Как лучше организовать с ней обмен данными? Следует учесть, что мощность процессора невелика (ARM9 300 МГц 64Мб ОЗУ Debian-lenny). Переписывать и и встраивать ее в код основной программы не хочется, тк она активно развивается и часто выходят обновления. Заранее спасибо за подсказку.



Последнее исправление: Babaj (всего исправлений: 3)

можешь рам диск использовать или там tmpfs

dimon555 ★★★★★
()
Ответ на: комментарий от stansage

Для межпроцессного взаимодействия городить TCP/IP сокеты? Ресурсов не так много. Может как вариант через PTY вместо ТТY. Какие могут быть тут засады? В сети не нашел толковых примеров по работе с ними. Если с файлами в памяти, то как проверять наличие пакета каждую секунду? Проверять размер файла и потом его удалять?

Babaj
() автор топика

Сделать файл в разделяемой памяти (shm_open), использовать для него какую-нибудь аналогию select'а (у Стивенса можно поподробнее почитать).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Ок, для получения данных годится. А для передачи, если выбрать PTY для входных данных и на него слать раз в секунду блок данных для обработки?

Babaj
() автор топика
Ответ на: комментарий от mashina

Зачем сразу TCP...

вот я и говорю пусть посмотрит на zero message queue - где все это из коробки - внятно и удобно.

real_maverick ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.