LU-LSP-b13:L10

From DiLab
Revision as of 16:31, 26 November 2013 by Atis (talk | contribs) (New page: == 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 s...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.