![]() |
Mit IndyKomponente Datei senden
hallo,
ich hab mir eienen chat gebaut (nur 2 chatter über ip - beide server und client) und kann texte senden und empfangen. nun will ich aber auch dateien senden, hab aber keine ahnung wie das geht. :wiejetzt: bin dankbar für jeden hinweis, tutorial, oder anregung mfg freak |
Re: Mit IndyKomponente Datei senden
Du splittest deine Datei in Stücke à z.B. 20KB, reservierst dir Speicher auf dem Heap, legst nachheinander deine Dateifragmente da rein, verschickst sie über SendBuffer und baust sie auf der andren Seite wieder zusammen. Ich meine mit Client-, Serversocket ist das Splitten nicht mal nötig.
|
Re: Mit IndyKomponente Datei senden
hallo,
ja, ne :wiejetzt: clint-server-socket-dingens hab ich nicht glaub ich. aber ich hab das versucht: :arrow: ![]() naja nicht weiter schlimm :zwinker: aber wie geht des nun :gruebel: nochmal server 'grillen' dürfte nicht drin sein :mrgreen: mefg freak :cyclops: |
Re: Mit IndyKomponente Datei senden
die müssten doch eigentlich unter 'Internet' stehn und falls nich kann es sein das du die nachinstallieren musst, hab keine ahnung wie das bei Delphi 6 is, weiss nur, dass man in Delphi 7 die noch nachinstallieren musste.
|
Re: Mit IndyKomponente Datei senden
hallo,
ich machs jetzt über indy mit TCPClient.WriteFile nur wie sie wieder ausgebe weiss ich noch nicht so genau, denn es gibt anscheinend kein ReadFile :( mfg freak |
Re: Mit IndyKomponente Datei senden
Das Problem ist, dass die Gegenseite wissen muss, wie groß die Datei ist, die empfangen werden soll. Wenn sie das weiss, kannst du so arbeiten:
Delphi-Quellcode:
Du musst also vor dem Senden der Datei deinem Client mitteilen, wieviel auf ihn zukommt. Sonst weiss er nicht, wann er aufhören soll Daten zu sammeln. Alternativ kannst du auch eine zweite Verbindung öffnen (vgl. FTP) und über diese die Datei übertragen - das hätte den Vorteil, dass man während der Übertragung weiterchatten kann.
var FS:TFileStream;
begin FS:=TFileStream.Create('C:\Test.txt',fmCreate); try idTCPClient1.ReadStream(FS,Dateigroesse); finally FS.Free; end; end; Gruß, maxk |
Re: Mit IndyKomponente Datei senden
ja ne :shock:
ich werd ma gucken ... :bounce2: thx for help :bounce2: :cheers: mfg freak |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz