Das Elementardatenübertragungs -Socket -System fordert das Senden und Empfangen von Daten über den Socket auf () und recv (). Jeder Anruf erfordert vier Parameter:
- Socket Descriptor: Der Socket -Deskriptor der Socket, an die Daten gesendet oder empfangen werden sollen.
- Puffer: Ein Zeiger auf den Speicherpuffer, der die zugesandten Daten enthält, oder wird verwendet, um die empfangenen Daten zu speichern.
- Länge: Die Länge der zugesandten oder empfangenen Daten.
- Flags: Eine Reihe von Flags, mit denen das Verhalten des Anrufs geändert werden kann.
Der Anruf "send ()" überträgt Daten aus dem Puffer des Programms an den Puffer des Peer über den Socket.
Der Aufruf "recv ()" erhält Daten vom Puffer des Peer zum Puffer des Programms über den Socket.
Die folgenden Flags können mit `send ()`:verwendet werden:
- msg_confirm :Führt dazu, dass die Daten sofort über das Netzwerk gesendet werden.
- msg_dontroute: Verhindert, dass die Daten durch das Standard -Gateway geleitet werden. Diese Funktion kann nützlich sein, um Daten an einen bestimmten Host zu senden.
- msg_eor: Zeigt an, dass die Nachricht das Ende eines Datensatzes ist.
- msg_more :Gibt an, dass mehr Daten gesendet werden.
- msg_nosignal :Verhindert die Erzeugung eines Sigpipe -Signals beim Senden von Daten an einen geschlossenen Sockel.
- msg_oob :Sendet die Daten außerhalb des Bandes. Diese Funktion kann nützlich sein, um dringende Daten zu senden.
Die folgenden Flags können mit `recv ()`:verwendet werden:
- msg_waitall: Bewirkt, dass der Anruf blockiert, bis die gesamte Datenlänge eingegangen ist.
- msg_peek: Ermöglicht die Anwendung, die Daten zu schauen, ohne sie aus dem Puffer zu entfernen.
- msg_oob :Empfängt die außergewöhnlichen Daten.
Mit dem `send ()` und `recv ()` können Anrufe zum Senden und Empfangen von Daten jeglicher Art verwendet werden. Sie werden jedoch normalerweise zum Senden und Empfangen von Zeichendaten verwendet.