Difference between revisions of "LU-LSP-b13:L10"

From DiLab
Jump to: navigation, search
(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...)
(No difference)

Revision as of 17:31, 26 November 2013

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.