AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Datei an Client schicken (IdTCP)
Thema durchsuchen
Ansicht
Themen-Optionen

Datei an Client schicken (IdTCP)

Ein Thema von storm1988 · begonnen am 27. Aug 2005 · letzter Beitrag vom 30. Aug 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#1

Datei an Client schicken (IdTCP)

  Alt 27. Aug 2005, 22:20
Moin

Bevor ich sinnlos rumprogrammiere wollt ich euch mal frage ob es überhaupt geht, dass man mit der Indy Komponente IdTCPServer Daten an den Client schickt?

Mfg
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#2

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 11:29
Siehe hier.
Das muss dann natürlich genau andersrum passieren, eine Verbindung von Client zum Server vorausgesetzt.
Gilt für die Indys ab Version 10.

Gruß,
ManuMF
  Mit Zitat antworten Zitat
hflick

Registriert seit: 18. Aug 2005
Ort: Witten, Germany
43 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 12:45
Server sendet Dateien an den Client oder der Client an den Server.

Und ja, es ist möglich. Indy 10 hat im IOHandler entsprechende Methoden zum schreiben von Streams, also auch Dateien. Also wenn der Client IOHandler.Write( myStream ); ausführt, wird der Strean an den Server "gesendet".

--
Holger
Dr. Holger Flick
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#4

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 13:35
@storm1988: Wenn du es wie in meinem Beispiel machst, musste du nur die Code-Zeilen im with-Bereich austauschen, und zwar

Delphi-Quellcode:
// Client

with Acontext.connection do
  begin
    try
      Socket.Write(IDS, 0, true);
    finally
      Disconnect;
    end;
  end;
und
Delphi-Quellcode:
// Server
with Acontext.connection do
  begin
    try
      SizeOfIncomingStream := Socket.ReadInteger;
      Socket.ReadStream(IDS, SizeOfIncomingStream);
    finally
      Disconnect;
    end;
  end;
Natürlich müssen auch die Streams andersrum behandelt werden (Open-Dialog bzw. feste Datei beim Server, Save-Dialog etc. beim Client).

Gruß,
ManuMF
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#5

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 16:21
Zitat von ManuMF:
Siehe hier.
Das muss dann natürlich genau andersrum passieren, eine Verbindung von Client zum Server vorausgesetzt.
Gilt für die Indys ab Version 10.

Gruß,
ManuMF
Hallo danke mal für die vielen Informationen, aber funktioniert das auch bei größeren Dateien, oder muss ich die vorher noch splitten???

Mfg
  Mit Zitat antworten Zitat
hflick

Registriert seit: 18. Aug 2005
Ort: Witten, Germany
43 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#6

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 17:31
Indy 10 kann das automatisch. Das wird dann automatisch über einen Buffer etc. geregelt. Unter Indy 9 war das noch etwas komplizierter.

Antwort ist also: Dateien können beliebig gross sein.

--
Holger
Dr. Holger Flick
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#7

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 18:23
Habe es bis 560MB ausprobiert, ging tadellos (hat halt nur lange gedauert).
  Mit Zitat antworten Zitat
hflick

Registriert seit: 18. Aug 2005
Ort: Witten, Germany
43 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 18:25
geringe Bandbreite?
Dr. Holger Flick
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#9

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 20:34
Hi Danke für die Infos
Habs nämlich früher immer mit indy 9 realisiert und des war extrem umständlich......
  Mit Zitat antworten Zitat
Benutzerbild von storm1988
storm1988

Registriert seit: 4. Aug 2005
Ort: Salzburg
91 Beiträge
 
Delphi 6 Professional
 
#10

Re: Datei an Client schicken (IdTCP)

  Alt 28. Aug 2005, 22:02
Moin

Ich hät jetzt doch nochmal eine Frage zu deinem Source Code. Immer wenn ich mein Programm mit dem Code Compiliere kommt bei mir diese Fehlermeldung: Undefinierter Bezeichner: 'TidStreamVCL'. Muss ich da noch irgendwas zusätlich einbinden??

Mfg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz