Cos'è la presa C?
"Socket C" è un termine che a volte viene utilizzato per fare riferimento al processo di scrittura del codice socket nel linguaggio di programmazione C e talvolta viene utilizzato per fare riferimento al file della libreria effettivo che contiene l'implementazione per alcune funzioni socket. Il file della libreria Coch Socket C effettiva contiene implementazioni per diverse funzioni e macro che forniscono la funzionalità socket di base fornita dalle librerie di lingue, sebbene il file socket C sia dipendente dal sistema operativo e potrebbe non essere implementato su alcuni sistemi. La scrittura del codice Cocket C implica la creazione di un'interfaccia con un protocollo di input e output standard, noto come socket e utilizzandolo per inviare o ricevere informazioni, di solito su una rete o attraverso un pezzo di hardware. Il linguaggio di programmazione C è destinato a essere portatile, ma la programmazione di socket si basa su alcune funzioni specifiche del sistema di basso livello, quindi a volte può essere difficile scrivere programmi in C che usano le prese ma mantengono anche la portabilità incrociata.
Esistono tre tipi di base di prese che Socket C supporta. Il primo è noto come un datagramma, il secondo è un flusso e il terzo è l'accesso grezzo. Un datagramma è un tipo di socket che invia informazioni in piccoli fasci noti come pacchetti. Ogni pacchetto viene inviato da una fonte con informazioni sulla presa di destinazione che sta cercando su una rete. Mentre un datagramma può essere un metodo efficiente per comunicare tramite le prese e spesso viene utilizzato per inviare e -mail, è anche perdita, poiché non è garantito che nessun pacchetto che viene inviato è garantito alla presa di destinazione.
Una presa di flusso crea una connessione a un'altra presa e le informazioni vengono passate direttamente tra le prese. Se utilizzato nella programmazione di socket C, questo tipo di socket garantisce che tutti i dati inviati vengano ricevuti dall'altra parte. Una complicazione, tuttavia, è che la presa a volte può usare il blocco, il che significa che la presa interromperà l'esecuzione di un processo fino aLe informazioni vengono ricevute o fino alla chiusura della presa, sebbene l'utilizzo di thread o processi biforcuti possa risolvere questo problema nella maggior parte dei casi. L'accesso a socket grezzo viene fornito come mezzo per interfacciarsi a livello quasi hardware con qualunque dispositivo ospita la presa.
le prese vengono comunemente utilizzate in varie forme per le comunicazioni Internet. L'hardware e i driver che consentono che il networking si verifichi variare notevolmente dal sistema operativo, quindi può essere difficile individuare un file della libreria di socket C che supporta tutte le possibili combinazioni. Per questo motivo, il file Socket C stesso, così come il file di intestazione del socket, spesso contiene un lungo elenco di direttive di compilazione condizionale in modo da compilare in modo diverso su vari sistemi.