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

From DiLab
Jump to: navigation, search
(Iesūtīšana)
Line 45: Line 45:
=== Iesūtīšana ===
=== Iesūtīšana ===


Iesūtīt programmas C kodu uz kursa asistenta e-pastu.
Iesūtīt programmas C kodu <del>uz kursa asistenta e-pastu.</del> estudijas.lu.lv

Revision as of 16:17, 24 November 2015

PD#10: Starprocesu komunikācija

Uzdevums

Realizēt komunikāciju starp parent un child progammām ar socket palīdzību.

Parent process padod child procesam ASCII rindiņu, kura satur divus skaitļus.

Child process rindiņu nolasa (piemēram, ar scanf funkciju), saskaita skatļus, izvada rezultātu (kā ASCII rindiņu) atpakaļ parentam.

Koda šablons:

#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.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 socketpair().


Iesūtīšana

Iesūtīt programmas C kodu uz kursa asistenta e-pastu. estudijas.lu.lv