Vexem
13-05-2016, 23:50
Piccola premessa: perchè non aprite un topic in top per chiedere piccole dritte di programmazione ?
Così evito di aprire un thread ogni volta che ho un problema :p
Allora, ho un'applicazione server che si occupa di gestire una sala cinematografica.
La sala è rappresentata come una matrice di 'struct Posto' che ho implementato come puntatore a puntatori.
Posto è una struct con 3 parametri: fila, numero e un parametro che indica se tale posto è occupato o no.
Mi ritrovo dunque con "Posto **sala_cinem"
L'applicazione client deve poter eseguire una serie di operazioni tra le quali, testualmente, "visualizzare la mappa dei posti in modo da individuare quelli ancora disponibili ".
Ho subito provato, sbagliando, ad inviare **sala_cinem al client incappando inesorabilmente verso il segmentation fault, in quanto la memoria virtuale non è condivisa.
Non so se le istruzioni impongono che il sistema stampi su terminale una sorta di mappa grafica (considerate che non vanno usate GUI), oppure che stampi informazioni testuali.
Non so neanche se è più conveniente stampare le informazioni dal server e inviarle posto per posto tramite write (es: write(socket,"posto x, fila y, libero",23)), oppure inviare una copia dell'array.
Nel secondo caso, come fareste la copia ? avete idee migliori ?
Considerate che sto usando una connessione TCP su piattaforma Linux.
Se avete bisogno di codice, non c'è problema.
Grazie ! :)
Così evito di aprire un thread ogni volta che ho un problema :p
Allora, ho un'applicazione server che si occupa di gestire una sala cinematografica.
La sala è rappresentata come una matrice di 'struct Posto' che ho implementato come puntatore a puntatori.
Posto è una struct con 3 parametri: fila, numero e un parametro che indica se tale posto è occupato o no.
Mi ritrovo dunque con "Posto **sala_cinem"
L'applicazione client deve poter eseguire una serie di operazioni tra le quali, testualmente, "visualizzare la mappa dei posti in modo da individuare quelli ancora disponibili ".
Ho subito provato, sbagliando, ad inviare **sala_cinem al client incappando inesorabilmente verso il segmentation fault, in quanto la memoria virtuale non è condivisa.
Non so se le istruzioni impongono che il sistema stampi su terminale una sorta di mappa grafica (considerate che non vanno usate GUI), oppure che stampi informazioni testuali.
Non so neanche se è più conveniente stampare le informazioni dal server e inviarle posto per posto tramite write (es: write(socket,"posto x, fila y, libero",23)), oppure inviare una copia dell'array.
Nel secondo caso, come fareste la copia ? avete idee migliori ?
Considerate che sto usando una connessione TCP su piattaforma Linux.
Se avete bisogno di codice, non c'è problema.
Grazie ! :)