Dateiübertragung XP/Vista c++

Also,

habe mal die Zahl angeschaut die bei recv() rauskommt. Bei Vista (fast wie erwartet) genau die größe der Datei. Bei XP dann plötzlich vieeeel weniger. Und da ich die recv-Funktion ja auch nur einmal aufrufe kommt auch nicht mehr.
Abspeichern tu ich ja mit der größe der dynamischen Variable (die ist aber eben nicht ganz mit Daten ausgefüllt). Die gespeicherte Datei hat trotzdem die größe die es eigentlich haben soll, aber eben mit zu wenig inhalt. Deswegen ging es auch nie.
Komisch nur das dieses Problem bei Vista zu XP (oder umgekehrt) vorkommt. Ich schreib es gleich mal mit der Funktion von OnlyFoo um und melde mich dann nochmal.


bis dann
 
HURRA

Es klappt jetzt. Es war wirklich so dass er zu wenig Inhalt übertragen hat. Dadurch waren die Dateien immer unvollständig.
Ich bin davon ausgegangen dass die Funktionen recv() und send() dass so managen, dass sie erst aufhören wenn alles übertragen wurde. Dass man da selber noch mal alles überprüfen muss hätte ich nicht gedacht.
Aber danke für den Tipp und den Fehler mach ich jetzt nicht mehr :D

grüße
 
Am besten gleich WinSock2 verwenden und TransferFile() benutzen. Performanter und weniger fehleranfällig. Findest du in mswsock.dll!
 
Zurück