Registriert seit: 18. Mai 2003
634 Beiträge
|
Re: Client/ServerSocket!! Download-Upload Example, HowTo?
13. Okt 2003, 16:34
Oder halt ma im Forum gucken
http://www.delphipraxis.net/internal...ct.php?p=74714
Client
Source:
Delphi-Quellcode:
procedure TFtClient.BtSendenClick(Sender: TObject);
var fs: TFileStream;
begin
if not OpenDialog1.Execute then exit; //erstmal besorgt man sich den Pfad der Datei, z.B. mit dem Standard Dialog TOpenDialog
with TCPClient do
begin
fs := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyWrite); //Datei in FileStream einlesen
Connect; //und Verbindung herstellen
try
OpenWriteBuffer; //stellt sicher, dass alle Daten versendet werden
try
WriteStream(fs, true, true, 0); {das 2. true ist wichtig!, da es bewirkt, dass die Größe des Streams mittels WriteInteger zuerst verschickt wird}
CloseWriteBuffer;
except
CancelWriteBuffer;
raise;
end;
finally
Disconnect;
fs.Free;
end;
end;
end;
Server
Source:
Delphi-Quellcode:
procedure TFTServer.TCPServerExecute(AThread: TIdPeerThread);
var
fs: TFileStream;
SizeOfIncomingStream: integer;
begin
if not SaveDialog1.Execute then exit;
fs := TFileStream.Create(SaveDialog1.Filename, fmCreate or fmShareExclusive);
with AThread.Connection do
try
SizeOfIncomingStream := ReadInteger; //Größe des Streams empfangen
ReadStream(fs, SizeOfIncomingStream); //und übergeben
finally
Disconnect;
fs.Free;
end;
end;
|
|
Zitat
|