Entwickler-Ecke
Internet / Netzwerk - Datei verschicken - Frage zu FAQ
Albanac - So 13.10.02 19:04
Titel: Datei verschicken - Frage zu FAQ
ich hab das Beispiel aus der FAQ übernommen um ne Datei zu verschicken.
Wenn ich das untere Beispiel benutze gibt es das Problem, das die AlreadyReceived -1 ist und die Datei nicht öffnbar ist.
Da es vielleicht etwas unübsichtlich erscheint hier ne beschreibung was passiert:
client sendet Handshake
server bereitet sich auf empfang vor
client sendet Dateiname
server schreibt den in nen label
client sendet size
server schreibt es in nen label
client sendet file...
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| procedure TForm1.ServerClientRead(Sender: TObject; Socket: TCustomWinSocket); var pBuffer: pointer; Buffer: array[0..4096] of Byte; // die Größe des Puffers ist beliebig, müsste nur (s.u.) SizeOfBuffer: integer;
input : string; begin input := Socket.ReceiveText;
If (Server.Tag = 1) then begin pBuffer := @Buffer; SizeOfBuffer := Socket.ReceiveBuf(pBuffer^, 4096); //hier angeglichen werden FileStream.Write(pBuffer^, SizeOfBuffer); Inc(AlreadyReceived, SizeOfBuffer); lbl_sent.Caption := IntToStr(AlreadyReceived) + ' bytes empfangen'; Socket.SendText(IntToStr(AlreadyReceived)); end;
If (Server.Tag = 3) then begin lbl_remsize.Caption := input; Server.Tag := 1; end;
If (Server.Tag) = 2 then begin lbl_remname.Caption := input; Server.Tag := 3; FileStream := TFileStream.Create('C:\save.txt', fmCreate or fmOpenWrite); end;
If (Server.Tag = 0) and (input = 'handshake') then begin Server.Tag := 2; end; |
O'rallY - So 13.10.02 19:13
Wann genau tritt welcher Fehler auf?
Albanac - So 13.10.02 19:19
Zitat: |
Wenn ich das untere Beispiel benutze gibt es das Problem, das die AlreadyReceived -1 ist und die Datei nicht öffnbar ist (größe: 0k). |
Der Code den ich gemacht habe geht einwandfrei :D ...
Eine Fehlermeldung wird nicht produziert
O'rallY - So 13.10.02 19:34
So lösen sich Probleme von selbst ... :wink:
Albanac - So 13.10.02 19:38
das problem ist immernoch das gleiche....
es wird keine fehlermeldung produziert aber funktionieren tuts nicht...
97556217 ist meine ICQ nr dann kann ich dirs auch schicken oder so (den quelltrext)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!