über ein Daemon kannst du das wahrscheinlich nicht realisieren (wenn nur auf dem Terminal von dem der Daemon gestartet wurde).
Auf Deutsch gibt es die nicht, aber vielleicht hilft dir der Google Translator
also ich steig bei der sache leider noch nich so richtig durch. am für mich verwirrendsden ist, dass du beim client (is doch der client code oder?) immer nur ein byte liest. damit kommst du glaub ich nie auf n vernünftiges auswerten (ausser lesen :)) der empfangenen informationen. ich würd das n bisschen anders angehen: (mal ne session aufgezeichnet)
Client: list 0 0
Server: OK
S: LIST BEGIN
C: OK
S: listeneintrag 1
C: OK
S: listeneintrag 2
C: OK
S: listeneintrag 3
C: OK
S: LIST END
C: OK 3 items received
was in einer zeile bei C oder S steht, wird jeweils auf einmal gesendet / empfangen:
// Beim Server:
int ret = send (socket, "listeneintrag 1", 15, 0);
// Beim Client:
char buf[255];
int ret = recv (socket, buf, 255, 0); // das blockierd, bis was empfangen worden ist
buf[ret] = '\0'; // null terminieren, sonst hast du mist drin
cout << buf << endl; // wenn du es ausgeben willst. da wird dann "listeneintrag 1" stehen
// etc...
auf diese weise kannst du auch schön mit dem empfangenen umgehen:
string text = buf;
if (text == "BEGIN LIST")
recv_list():
// ...
int recv_list()
{
// mal n bisschen pseudo...
vector <string> liste;
for (;;)
{
string recv_text;
// empfangen und in recv_text speichern, siehe oben
if (recv_text == "LIST END") break;
liste.push_back(recv_text);
}
...
}
damit hast du dann die ganze liste in nem vector und kannst schön weitermachen. ich hoffe das dir das n bisschen geholfen hat! (und nicht an der sache vorbeigeredet hat :D)
Original erstellt von kingruedi@school:
rc.config ist eine SuSE Erfindung.
Zumindest das System dahinter kommt von *BSD. Haben die das erfunden, oder auch geklaut?
PS: <linksammlung> http://www.slackware.com/book/ </ >
Pronix ist wohl sehr beliebt, aber ich selbst fand die Tutorials eher schlechter und glaube nicht, dass es in die FAQ kommen sollte (du siehst ja selber, dass das Tutorial an seine Grenze gestoßen ist)
Hi,
mit welchen Rechten wird das Programm ausgefuehrt? Darf ich dann dem vi mal
/etc/passwd uebergeben?
Mal im Ernst: Ueberpruef genau, was der User eingibt, wenn du vorhast das Programm
mit viel privilegien laufen zu lassen. Ich will nicht unterstellen,
dass du das auch machst, aber wie Bashar schon gesagt hat, ist es
sehr schlecht, die Userangaben ungeprueft an system () zu uebergeben.
mfg
v R
Vielen Dank für deine Antwort .... aber ich hab gestern nacht noch so zielmlich alle Hilfe Kategorien unter http://sdb.suse.de/de/sdb/html/ durchgelesen und bemerkt, das der IDE Controller vom Suse-Standard Kernel nicht richtig unterstützt wird bzw. der 2.IDE Port (hat mich gewundert, in dem Pc ist das ein Abit KT133 Bord drin) und so hab ich mir gestern nacht noch nen neuen Kernel Erstellt und jetzt geht es ... hat mich auch verwundert, das das Cd-ROM immer gut lief obwohl es ja auch am 2.IDE Port hängt ...aber jetzt get alles ... und trotzdem vielen Dank für deine Hilfe .... hatte bis jetzt nur keine Zeit im Forum nachzukuken, sonst hätt ich meine Frage schon länger 'selbstbeantwortet'!!
Hi !
Ich hab mal alle Configfiles gelöscht, jetzt kommt der Fehler nicht mehr.
Dafür habe ich ein anderes Problem wenn ich ein KDE Programm erstellen möchte.
./configure läuft, aber beim compilen kommt folgender Fehler :
In file included from /usr/kde/3/include/kapp.h:3,
from kdetest.h:25,
from kdetest.cpp:18:
/usr/kde/3/include/kapplication.h:29: syntax error before ;' token gmake[2]: Leaving directory/home/jojo/kdetest/kdetest'
gmake[2]: *** [kdetest.o] Error 1
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/home/jojo/kdetest'
gmake: *** [all] Error 2
*** fehlgeschlagen ***
Freue mich immer noch wenn mir jm hilft