Dateitransfehr



  • Quatsch, ich habe natürlich nicht recvBytes gemeint, sondern dataLength 😡
    500 habe ich willkürlich gewählt (als Buffer) (was wegen der while-Schleife eigendlich nichts ausmachen sollte).
    jetzt die Frage nochmal richtig
    Könntest du mal beim Clienten den Wert von dataLength nach sockClient.Receive(&dataLength, 4); mit der Dateigröße des Videofiles (das Orginale, das auf dem Server liegt) vergleichen? 🙂



  • achso, ok. habe es verglichen und die ziel datei ist 100% genau so groß wie die quelldatei :p:D. glaubst du es jetzt ??



  • Red Skall schrieb:

    achso, ok. habe es verglichen und die ziel datei ist 100% genau so groß wie die quelldatei :p:D. glaubst du es jetzt ??

    Das heißt ja nix, hast du die Dateien schon mal mit einem Hex-Monitor vergleich, um zu sehen an welcher Stelle sie unterschiedlich sind?



  • ne, die mühe hab ich mir noch nicht gemacht. aber verstehe ich dic richtig das ich die beiden files dann vergleichen soll (die ja nun nicht nur 20 kb oder sowas groß sind) !?
    wenn ihr wollt kann ich die hochladen, aber ist nicht nötig, oder ??



  • Red Skall schrieb:

    ne, die mühe hab ich mir noch nicht gemacht. aber verstehe ich dic richtig das ich die beiden files dann vergleichen soll (die ja nun nicht nur 20 kb oder sowas groß sind) !?

    Ich wollte nur wissen, ob du mal geprüft hast, ob es Übertragungsfehler sind? Dazu reichen die ersten 20 Bytes völlig aus.



  • Problem bei dem Quellcode:
    Alles, was du nach der Dateiübertragung an den Client sendest, wird in die Datei geschrieben (->while Schleife).



  • Rapha schrieb:

    Problem bei dem Quellcode:
    Alles, was du nach der Dateiübertragung an den Client sendest, wird in die Datei geschrieben (->while Schleife).

    Das sollte die Dateien aber nicht komplett zerstören (wie beschrieben). Ich vermute, dass es schon am Anfang Probleme gibt. Darum wäre ja ein Vergleich der Daten (z.B. mit Windiff) hilfreich. 😞



  • Die Datei ist ja erfolgreich übertragen worden, da alle weiteren Bytes bis auf die 1. 4 (welche eigendlich die Dateigröße und somit die weiter-zu-empfangene Bytes darstellen) gespeichert werden (einfach alle Bytes speichern, die übers Netz geschickt werden).
    Soweit so gut. Wenn man jetzt aber noch weitere Informationen schicken will, werden diese auch in die Datei geschrieben (oder hab ich da was übersehen?).



  • meinst du alle bytes die übers netzwerk gesendet werden ?? das soll heißen wenn du ne datei mit diesem code kopierst und gleichzeitig z.b. eine datei normal über windows; und diese beiden sachen werden dann in eine datei geschrieben ?? oder meinst du wen weitere daten mit dem programmcode gleichzeitig kopiert werden 😕🙂

    aber mal ernst, was genau meinst du denn jetzt ??

    ja, hört sich ein bischen verwirrt an



  • Alle weiteren Daten, die über das CSocket Objekt geschickt werden (genauer gesagt alle weiteren Daten, die beim Clienten bei dem Port, den du eingestellt hast, ankommen und die Quellip des Servers haben)...


Anmelden zum Antworten