So richten Sie Bytes, numerische Daten mit Socket empfangen

March 26

So richten Sie Bytes, numerische Daten mit Socket empfangen

Buchsen sind eine Möglichkeit zur Übertragung von Daten, die mit den Standards für ein Unix Dateideskriptor. Ein Unix-File-Descriptor ist eine Ganzzahl, die eine geöffnete Datei zugeordnet ist, und ermöglicht dem Betriebssystem darauf zugreifen. Unter Unix OS ist alles eine Datei, einschließlich Netzwerk-Verbindungen. Buchsen sind für Internet-Kommunikation spezialisiert. Wenn Sie Steckdosen in Ihrem Programm verwenden, müssen Sie eine Anzahl von Bytes einrichten, um Daten zu empfangen. Dies nennt man einen Puffer. Die C++-Funktion können "recv()" Sie einen Puffer für den Empfang von Daten von einem Socket einrichten.

Anweisungen

1 Laden Sie die C++-IDE, indem Sie auf das Programmsymbol. Wenn es geöffnet wird, wählen Sie "File/New/Project" und "C++-Projekt" ein neues C++-Projekt zu erstellen. Eine leere Quellcodedatei wird in den Text-Editor-Teil der IDE angezeigt.

2 Fügen Sie die folgenden zwei "gehören" Direktiven an die Spitze der Quellcodedatei:

< sys/types.h > gehören gehören < sys/socket.h > 3 Vertrautmachen Sie mit der Funktionssignatur für "recv()." Die Elemente in Klammern sind als Parameter bezeichnet, und sie dienen in der Regel als eine Möglichkeit der Kundendaten Daten in einer Funktion. Der erste Parameter ist "Int s," bezieht sich auf die ganzzahlige ID für den Socket Daten empfangen soll. Der zweite Parameter ist ein Zeiger auf den Puffer, der alle empfangenen Daten gespeichert, und der dritte Parameter ist die Länge des Puffers in Bytes. Der vierte und letzte Parameter ist der "Flags"-Parameter, der das Verhalten der Funktion verändern können. Der Rückgabetyp für diese Funktion ist "int", und es gibt die Anzahl der empfangenen Bytes oder "-1", wenn ein Fehler auftritt.

Ssize_t Recv (Int s, nichtig * Buf, Size_t Len, Int Flaggen);

4 Erstellen Sie ein Array von "Char"-Datentypen, die garantiert mindestens ein Byte lang sind. Die genaue Länge hängt von den Besonderheiten Ihres Systems, aber im Allgemeinen ein "Char" ist ein Byte oder acht Bits lang. Schreiben Sie folgendermaßen vor, um ein Array von 256 "Char" Datentypen deklarieren:

Char Puffer [256];

5 Erstellen Sie eine Variable, die die Anzahl der empfangenen Bytes speichert. Dies ist der Rückgabewert von der Funktion "recv()", und es kann festgestellt werden, wenn der Puffer fast voll ist oder wenn ein Fehler aufgetreten ist. Schreiben Sie folgendermaßen vor, um diese Variable zu erzeugen:

Int empfangen = 0;

6 Schließen Sie an den Speicherort im Netzwerk mit einem Socket. Ein Socket ist nur eine ganze Zahl und kann wie folgt deklariert werden:

Int Sockel;

7 Rufen Sie die Funktion "recv()" mit den Variablen deklariert so weit. Um "recv()" mit sein Standardverhalten zu verwenden, legen Sie das Flag auf "0."

empfangen = Recv (Sockel, Puffer, sizeof(buffer), 0);

8 Kompilieren Sie und führen Sie das Programm. Das Programm richtet einen Bereich im Arbeitsspeicher und bereitet es für den Empfang von Daten von einem Socket. Es ruft dann die "recv()"-Funktion, die Daten aus dem Sockel empfängt.