Struktur durch Sockets in C übergeben

Ich versuche, die gesamte Struktur vom Client zum Server oder umgekehrt zu übertragen. Nehmen wir meine Struktur wie folgt an

struct temp {
  int a;
  char b;
}

ich benutzesenden an und Senden der Adresse der Strukturvariablen und Empfangen auf der anderen Seite mit der Tasterecvfrom Funktion. Aber ich kann die Originaldaten nicht empfangen. In der sendto-Funktion speichere ich die empfangenen Daten in eine Variable vom Typ struct temp.

n = sendto(sock, &pkt, sizeof(struct temp), 0, &server, length);
n = recvfrom(sock, &pkt, sizeof(struct temp), 0, (struct sockaddr *)&from,&fromlen);

Wobei pkt die Variable vom Typ struct temp ist.

Obwohl ich 8 Bytes an Daten erhalte, werden beim Versuch zu drucken lediglich die Müllwerte angezeigt. Irgendeine Hilfe für eine Lösung?

HINWEIS: Es müssen keine Bibliotheken von Drittanbietern verwendet werden.

EDIT1: Ich bin wirklich neu in diesem Serialisierungskonzept. Aber ohne Serialisierung kann ich keine Struktur über Sockets senden?

EDIT2: Wenn ich versuche, eine Zeichenfolge oder eine Ganzzahlvariable mit dem Befehl zu sendensenden an undrecvfrom Funktionen Ich empfange die Daten auf der Empfängerseite korrekt. Warum nicht bei einer Struktur? Wenn ich die Serialisierungsfunktion nicht verwenden muss, sollte ich dann jedes einzelne Mitglied der Struktur einzeln senden? Dies ist wirklich keine geeignete Lösung, da bei einer Anzahl von "n" Mitgliedern "n" Codezeilen hinzugefügt werden, um Daten zu senden oder zu empfangen.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage