na du hast ein objekt vom typ einer struktur...
WIN32_FIND_DATA sData;
soweit sollte es noch kein problem darstellen... nun machst du was auch immer du damit tun wilst, daten rein schreiben oder ähnliches...
nun musst du nur her gehen und die daten der struktur an den socket schicken...
dazu hast du logischerweise nen socket...
WSAStartup(..)
SOCKET hSock = socket(......);
connect(hSock....);
soweit sollte es auch noch klar sein....
und nun schick ich einfach die daten die in der struktur gespeichert sind, durch den socket...
send(hSock, &sData, sizeof(sData), 0);
ich übergebe ihm also einen pointer auf die struktur (wird nach void* gecastet vom compiler) und die größe der struktur, damit sendet er die ganze struktur auf einmal über die socket verbindung raus...
auf der empfangsseite is es im prinzip genauso nur das du das send gegen ein recv ersetzt, dann hast du nach dem recv die struktur auch auf der client seite...
WIN32_FIND_DATA sData;
recv(hSock, &sData, sizeof(sData), 0);
wieder der pointer auf die struktur, und die größe der struktur...
das einzige was dann zu beachten is, is, das die seite die die daten empfangen soll, keine pointer die in der struktur gespeichert sind benutzen darf
also wenn du nun eine struktur hast die so aussieht:
struct ProgData {
int ID;
char username[30];
char** params;
};
so darfst du ProgData.params nicht benutzen, sonst kommts zum absturz.. weil die pointer auf der client seite natürlich nicht mehr gültig sind, du musst also alle daten in der struktur speichern und auf pointer verzichen...
WIN32_FIND_DATA sData;
soweit sollte es noch kein problem darstellen... nun machst du was auch immer du damit tun wilst, daten rein schreiben oder ähnliches...
nun musst du nur her gehen und die daten der struktur an den socket schicken...
dazu hast du logischerweise nen socket...
WSAStartup(..)
SOCKET hSock = socket(......);
connect(hSock....);
soweit sollte es auch noch klar sein....
und nun schick ich einfach die daten die in der struktur gespeichert sind, durch den socket...
send(hSock, &sData, sizeof(sData), 0);
ich übergebe ihm also einen pointer auf die struktur (wird nach void* gecastet vom compiler) und die größe der struktur, damit sendet er die ganze struktur auf einmal über die socket verbindung raus...
auf der empfangsseite is es im prinzip genauso nur das du das send gegen ein recv ersetzt, dann hast du nach dem recv die struktur auch auf der client seite...
WIN32_FIND_DATA sData;
recv(hSock, &sData, sizeof(sData), 0);
wieder der pointer auf die struktur, und die größe der struktur...
das einzige was dann zu beachten is, is, das die seite die die daten empfangen soll, keine pointer die in der struktur gespeichert sind benutzen darf
also wenn du nun eine struktur hast die so aussieht:
struct ProgData {
int ID;
char username[30];
char** params;
};
so darfst du ProgData.params nicht benutzen, sonst kommts zum absturz.. weil die pointer auf der client seite natürlich nicht mehr gültig sind, du musst also alle daten in der struktur speichern und auf pointer verzichen...