- descrittore del socket: Il descrittore del socket su cui inviare o ricevere dati.
- buffer: Puntatore al buffer di memoria che contiene i dati da inviare o viene utilizzato per archiviare i dati ricevuti.
- lunghezza: La lunghezza dei dati da inviare o ricevere.
- bandiere: Un set di flag che può essere utilizzato per modificare il comportamento della chiamata.
La chiamata `send()` trasmette i dati dal buffer del programma al buffer del peer attraverso il socket.
La chiamata `recv()` riceve i dati dal buffer del peer al buffer del programma attraverso il socket.
I seguenti flag possono essere utilizzati con `send()`:
-MSG_CONFERMA :Fa sì che i dati vengano inviati immediatamente sulla rete.
- MSG_DONTROUTE: Impedisce che i dati vengano instradati attraverso il gateway predefinito. Questa funzionalità può essere utile per inviare dati a un host specifico.
- MSG_EOR: Indica che il messaggio è la fine di un record.
-MSG_MORE :indica che vengono inviati più dati.
- MSG_NOSIGNAL :Impedisce la generazione di un segnale SIGPIPE durante l'invio di dati a un socket chiuso.
-MSG_OOB :Invia i dati fuori banda. Questa funzionalità può essere utile per inviare dati urgenti.
I seguenti flag possono essere utilizzati con `recv()`:
- MSG_WAITALL: Causa il blocco della chiamata fino alla ricezione dell'intera lunghezza dei dati.
- MSG_PEEK: Consente all'applicazione di visualizzare i dati senza rimuoverli dal buffer.
-MSG_OOB :Riceve i dati fuori banda.
Le chiamate `send()` e `recv()` possono essere utilizzate per inviare e ricevere dati di qualsiasi tipo. Tuttavia, vengono generalmente utilizzati per inviare e ricevere dati sui caratteri.
hardware © www.354353.com