LU-LSP-b13:L10
PD#10: Starprocesu komunikācija
Uzdevums
Realizēt komunikāciju starp parent un child progammām ar socket palīdzību.
Dota programma, kura saskaita divus skaitļus. Programma ielasa datus no stdin, izvada tos uz stdout. Uzdevums: noprogrammēt otru programmu, kas izmanoto šo pirmo saskaitīšanas funkcijas realizācijai. (Testa piemēriem nav obligāti jātiek ievadītiem no konsoles, tos var iekļaut otrās programmas C kodā.)
Koda šablons
#include <sys/types.h> #include <unistd.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <stdio.h> int main(void) { int ret = socketpair(AF_UNIX, SOCK_STREAM, 0, sock); if (ret) { perror("socketpair"); return 1; } // fork // in parent code: write to socket, wait for reply, read it, and output it // in child code: read from socket, process arguments, write reply, exit return 0; }
Padomi
- Izmantot funkciju fork().
- Izmantot funkciju scoketpair().
Iesūtīšana
Iesūtīt programmas C kodu uz kursa asistenta e-pastu.