// Uebersetzung mit: // gcc -o Klient Klient.c // Das Klientprogramm schickt eine ganze Zahl den Server und bekommt deren // Quadrat zurueck. #include #include #include #include #include "header.h" int main(int argc, char *argv[]) /* Die Zahl wird als Parameter gegeben*/ { int fd, fd1; /* Klienst- und Serverfifo */ char s[15]; Mesg t; if (argc != 2) /* Fehler: kein Parameter gegeben */ { printf("Benuetzung: Klient \n"); exit(1); } sprintf(s, "fifo_%d", getpid()); /* Erzeugung der Name der Klientfifo */ mkfifo(s, S_IFIFO|0666); /* Erzeugung der Klientfifo */ fd = open("serverfifo", O_WRONLY); t.pid = getpid(); /* die Daten zum schicken */ t.nr = atoi(argv[1]); write(fd, &t, sizeof(t)); /* die Daten sind den Server geschickt */ fd1 = open(s, O_RDONLY); read(fd1, &t, sizeof(t)); /* die Antwort ist gelesen */ close(fd1); unlink(s); /* Klientfifo wird geloescht */ printf("Das Qadrat ist: %d\n", t.nr); exit(0); }