000
19.02.2007, 19:00 Uhr
~kazekage
Gast
|
Hi,
ich hab ein kleines Problem beim Senden des Dateinamen über eine Socketverbindung. Der Name der ankommt ist total zerhackt und es steht nur müll drin.
Das Senden mache ich so:
C++: |
/* Größe der Datei die gesendet werden soll vorraus schicken */ char * size = (char*) &sizeOfFile; send(sendSocket, size, sizeof(unsigned long), 0);
/* Dateiendung/Größe der Dateiendung - der Datei die gesendet wird vorraus schicken */ fileName = GetFileNameToSend(buf); sizeOfFileName = sizeof(fileName); size = (char*) &sizeOfFileName; send(sendSocket, size, sizeof(unsigned int), 0);
|
Das Empfangen des Dateinamen so:
C++: |
char sizeFileNameBuffer[sizeof(unsigned int)]; char fileName[100]; std::string fileNameAsString;
/* Größe der Datei empfangen die gesendet wird */ recv(recvSocket, sizeBuffer, sizeof(unsigned long), 0); sizeOfFileToReceive = *(unsigned long*) &sizeBuffer;
/* Länge des Dateinamen empfangen der gesendet wird */ recv(recvSocket, sizeFileNameBuffer, sizeof(unsigned int), 0); sizeOfFileNameToReceive = *(unsigned int*) &sizeFileNameBuffer;
|
Die Übertragung der Größe funktioniert noch, aber der Dateiname der empfangen wird ist totaler Schrott. Woran kann das liegen? |