Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio17:esercitazionib:esercitazione9

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Prossima revisione
Revisione precedente
informatica:sol:laboratorio17:esercitazionib:esercitazione9 [01/05/2017 alle 08:45 (8 anni fa)] – creata Massimo Torquatiinformatica:sol:laboratorio17:esercitazionib:esercitazione9 [01/05/2017 alle 08:47 (8 anni fa)] (versione attuale) Massimo Torquati
Linea 12: Linea 12:
 </code> </code>
  
-===== Esercizio =====+===== Esercizio =====
  
 Considerare il seguento programma ''dec.c'': Considerare il seguento programma ''dec.c'':
Linea 47: Linea 47:
 Scrivere un programma (chiamato //pipedec//) che prende in ingresso un intero positivo. //pipedec// lancia 2 processi figli ognuno dei quali esegue con una chiamata ''exec'' il programma //dec//. Solo ad uno dei due processi figli viene passato come argomento l'intero positivo passato al programma //pipedec//. I due processi figli devono essere connessi tra di loro in modo tale che lo standard input di un processo sia connesso con lo standard output dell'altro processo (la connessione e' quindi bidirezionale). Scrivere un programma (chiamato //pipedec//) che prende in ingresso un intero positivo. //pipedec// lancia 2 processi figli ognuno dei quali esegue con una chiamata ''exec'' il programma //dec//. Solo ad uno dei due processi figli viene passato come argomento l'intero positivo passato al programma //pipedec//. I due processi figli devono essere connessi tra di loro in modo tale che lo standard input di un processo sia connesso con lo standard output dell'altro processo (la connessione e' quindi bidirezionale).
  
 +===== Esercizio 3 =====
 +
 +Realizzare in C un programma client ed un programma server. I due processi intergiscono utilizzando socket AF_UNIX. Il client apre una connessione verso il server ed invia richieste (sotto forma di stringhe) corrispondenti ad operazioni aritmetiche inserite dall'utente (es. 2+1, 3/4 + 2/7, sqrt(5) + 3.14, ...).
 +Il server gestisce una connessione alla volta. Il client invia una stringa di comandi alla volta ed attende il risultato. Per eseguire l'operazione, il server lancia un processo che esegue la calcolatrice testuale 'bc'.
 +Il messaggio di risposta del server è una stringa contenente il risultato calcolato.
 +La sequenza di operazioni termina quando il client riceve in input la stringa "quit" dall'utente. Il server si rimette in attesa di ricevere una nuova connessione da un client.
informatica/sol/laboratorio17/esercitazionib/esercitazione9.1493628347.txt.gz · Ultima modifica: 01/05/2017 alle 08:45 (8 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki