Thema: Delphi TCP Verbindung hestellen

Einzelnen Beitrag anzeigen

Benutzerbild von Deltachaos
Deltachaos

Registriert seit: 20. Feb 2008
Ort: Berlin
195 Beiträge
 
Delphi 7 Personal
 
#1

TCP Verbindung hestellen

  Alt 1. Mai 2008, 08:23
Ich habe mir einen Beitrag aus der CodeLibery angegugt abe irgendwie weis ich nicht wie Delphi wissen soll mit wem er sich verbindet.

Delphi-Quellcode:
procedure TForm1.Button1Click(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 IdTCPClient1 do
  begin
    fs := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyWrite); //Datei in FileStream einlesen
    Connect; //und Verbindung herstellen | ja aber mit wem????
              //am besten localhost abe wie bringe ich
              //delphi das bei?? :wall:
    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;

procedure TForm1.IdTCPServer1Execute(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;
Maximilian Ruta
  Mit Zitat antworten Zitat