Domanda Utilizzo socket

kiddyspace

Utente Bronze
14 Aprile 2021
50
12
7
32
Salve , ho fatto un programmino in C di una comanda di un ristorante , dello scontrino alla cassa e della dispensa. Il problema è che dovrei ogni volta far comunicare la comanda con la dispensa ed essendo per un esame di sistemi operativi dovrei usare i socket o le pipe. Stavo studiando i socket e vedendo online , tutti usano un main per il client e uno per il server. È possibile implementare la dispensa come server e la comanda come client? Se si , avreste del materiale da passare per farmi studiare ? Grazie
 
Stavo studiando i socket e vedendo online , tutti usano un main per il client e uno per il server.
Sì, le socket servono proprio per far comunicare due o più processi distinti e potenzialmente avviati su due computer diversi connessi alla stessa rete (e.g., connessi ad internet). Tipicamente quando si fa un applicazione client/server si assume che ci sia un server sempre avviato e tanti client che si possono connettere o disconnettere a loro piacimento.

È possibile implementare la dispensa come server e la comanda come client? Se si , avreste del materiale da passare per farmi studiare ?
Visto che stai parlando di un ristorante, ti rimando a questo thread dove un altro utente stava facendo un progetto simile. Magari puoi prendere spunto da quella discussione. Se vuoi una guida sulle socket in C Beej's Guide to Network Programming Using Internet Sockets è molto chiara, ma plausibilmente il tuo professore ti avrà passato del materiale da studiare con tutto quello che si aspetta che tu possa usare per questo progetto. Se poi dovessi avere qualche problema ne possiamo discutere.
 
Ultima modifica:
Sì, le socket servono proprio per far comunicare due o più processi distinti e potenzialmente avviati su due computer diversi connessi alla stessa rete (e.g., connessi ad internet). Tipicamente quando si fa un applicazione client/server si assume che ci sia un server sempre avviato e tanti client che si possono connettere o disconnettere a loro piacimento.


Visto che stai parlando di un ristorante, ti rimando a questo thread dove un altro utente stava facendo un progetto simile. Magari puoi prendere spunto da quella discussione. Se vuoi una guida sulle socket in C Beej's Guide to Network Programming Using Internet Sockets è molto chiara, ma plausibilmente il tuo professore ti avrà passato del materiale da studiare con tutto quello che si aspetta che tu possa usare per questo progetto. Se poi dovessi avere qualche problema ne possiamo discutere.
grazie adesso inizio a vedere tutto , il tutor ci ha dato una guida con tutte le chiamate di sistema e con la spiegazione teorica ma non ci sono molti esempi
Messaggio unito automaticamente:

quindi mi converrebbe creare due progetti? cioè uno per il ristorante e nel main creo il client e nell altro creo il server?
 
grazie adesso inizio a vedere tutto , il tutor ci ha dato una guida con tutte le chiamate di sistema e con la spiegazione teorica ma non ci sono molti esempi
Messaggio unito automaticamente:

quindi mi converrebbe creare due progetti? cioè uno per il ristorante e nel main creo il client e nell altro creo il server?
Si ti servono due applicativi. Il server non ti conviene fare che sia la comanda ovviamente, visto che di comande possono essercene 1 o più e quindi ti ritroveresti con più servers. Il server è l'applicativo che si mette in listening sulla connessione su una porta prestabilita, il client è colui che che si connette al server mediante quella porta prestabilita. Seguo anche io la discussione nel caso ti serva qualche chiarimento ulteriore.

In passato ho fatto un intero protocollo custom mio, con compressione, cifratura dei dati, verifica con hash della validità dei dati, che uso per i miei applicativi e quindi ho smanettato parecchio proprio con le API C che stai per usare tu.