PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : einfacher Datenaustausch zw. 2 laufenden Programmen



07-03-2001, 22:17
Hallo ich habe hier ein Soundrecorder (unter Console), der ganz normal Musik aufnimmt, und Daten wie z.B. Clips oder die bereits aufgenommene Zeit anzeigt.
Diese Daten werden in den momentane Standard-Stream geschrieben.
Ich möchte diese Daaten jetzt einem 2. selbstgeschriebenen Program übergeben. Wie könnte ich jetzt z.B. dafür sorgen, daß der Soundrekorder in den Eingabestream des 2. Progs schreibt?
Idealerweise würde es weiterhin die Daten in den "normalen" Ausgabestream schreiben, damit man auch was sieht.
Eine andere Möglichkeit wäre sicher, eine Text-Datei zu erstellen, die dann mein Prog ausließt. Da das ganze doch etwas zeitkritisch ist, sollte das möglichst im Arbeitsspeicher geschehen - wo also schreibe ich die Datei am besten hin?

Sion

micha
08-03-2001, 04:18
Hi

versuchs mal mit sockets ueber tcp ( man socket )
oder unix domain sockets...

Gruß micha

08-03-2001, 07:18
Klingt nach einem klassischen Fall fuer Pipes.

D.h. du wirst Dich wahrscheinlich mit fork(), exec??()-Varianten, dup2() und pipe() anfreunden muessen.

Wenn es bei Dir installiert ist hilft dir eventuell
info libc
besonders Kapitel Pipes & FIFOs weiter.

Vielleicht Dir reicht aber auch schon:
FILE *fp=popen("recorder -a -b","r");

Dies startet "recorder -a -b" und dessen Ausgabe kannst Du mit fp lesen als waers ein Stream.

Damit man weiterhin "was sieht" muesste das 2. Programm halt mal schnell alle gelesen Daten auch an stdout schicken.