AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Probleme beim Versenden von Dateien mit Indy TCPClient
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme beim Versenden von Dateien mit Indy TCPClient

Ein Thema von Chris1986 · begonnen am 27. Sep 2003 · letzter Beitrag vom 28. Apr 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#11

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 1. Okt 2003, 16:30
Hi Leute,

anbei ein kleines Bsp.

Schaut's auch an und gebt bitte ne Rückmeldung, wenn man was verbessern kann.

Mir schon klar das die Benutzung von TMemoryStream bei größeren Datei Probleme versucht

Aber das ganze war ja auch mal schnell nebenbei gemacht

Gruß Data


P.S.: Verwendet wurde D5 mit Indy 9
Angehängte Dateien
Dateityp: zip filesend_clientserver.zip (444,2 KB, 74x aufgerufen)
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
holidudu

Registriert seit: 24. Apr 2004
12 Beiträge
 
#12

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 24. Apr 2004, 17:45
Hallo Leute...

Ich habe mir den Code von DataCool ein Posting höher herunter geladen. Leider bekomme ich beim start der Client.dpr folgende Meldungen...

http://hilfebullet.de/holi/bild1.jpg

http://hilfebullet.de/holi/bild2.jpg

DataCool sagte er habe es unter D5 mit indy 9 geproggt. Kann es sein, dass mir (D6) irgendetwas fehlt?

Gruss, Holi
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#13

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 24. Apr 2004, 21:42
Hi Holidudu,

kann es sein das Du nicht die aktuellste Version der Indys benutzt ? Aktuell ist gerade 9.0.14 !!Die hab ich auch verwendet !

Download unter : Indy Download

Wenn Du Delphi 6 verwendest, ist zwar Indy mit installiert aber in einer älteren Version.

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
holidudu

Registriert seit: 24. Apr 2004
12 Beiträge
 
#14

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 24. Apr 2004, 22:35
Schön, dass du mir so schnell geantwortet hast.

Kannst du mir vieleicht noch erklären wie man die Indys updated? Ich bin nämlich noch nicht allzu weit mit Delphi. Bin schon froh, dass ich dieses Forum gefunden habe...

Edit:
Naja... um ehrlich zu sein bin ich ein schlechter english-interpreter um die eventuellen Install-Anweisungen richtig zu verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 24. Apr 2004, 22:49
Hi,

wie war das den gleich noch mal Angaben ohne Gewähr

1. Das Indy Package deinstallieren und entfernen.

2. In irgenteinem Unterverzeichnis von Delphi 6 müssen alle Indy-Dateien(Id*.pas und Id*.dcu) gelöscht werden.

3. Danach das neue Indy-Package installieren

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
holidudu

Registriert seit: 24. Apr 2004
12 Beiträge
 
#16

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 24. Apr 2004, 23:50
hehe... lieb von dir!

Ok... das krieg ich auch anderweitig (seltsames Wort) raus.

Aber nun mal was anderes:

Ich habe mir deinen Code mal innig angeschaut. Und nachdem ich selber nun schon über eine Woche mir den Hals nach einer funktionierenden Variante verrengt habe indem ich es selber versucht habe, muss ich angesichts deiner Leistung passen. Es gibt nach meinen google-erkenntnissen keine bessere Beschreibung für das Problem Dateien zu verschicken. Jedenfalls nicht im deutschsprachigen Raum. Mein höchster Respekt davor ist dir sicher!

Aber mal ne Frage:

Die *.exe Dateien funktionieren ja auch bei mir... auch ohne indy-update.

Aber warum bekommt der Server keine SaveDialog-Abfrage? Ich meine... sowas müsste doch vor dem Senden der Parts geschehen, oder?
Ich kann Dateien versenden mit Statusanzeige auf beiden Seiten. Genial! Nur wie speichere ich das Empfangene... und wo?
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#17

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 25. Apr 2004, 00:12
Hi,

also wenn Dir meine Arbeit so gefällt, dann zieh Dir www.telwell.de]TelWell Messenger[/URL]
rein, das ist ein Messenger den ich auf Indy Basis geschrieben habe. Meine Nummer da 1011

Aber zu Deiner Fragen :

1. Warum wird kein Save-Dialog verwendet :
Nun der Sinn einer Server-Anwenung ist es ja Multi-Threaded zu Laufen, d.h. das der Server mehere Anfragen auf einmal bearbeiten kann.
Du kannst einen Save-Dialog verwenden, dieser müßte nur syncronisiert aufgerufen werden. Aber die ist absolut gegen den Sinn eines Servers, weil der Server dann auf eine User-Eingabe warten muss und ein Server sollte selbstständig arbeiten.

2. Wie jetzt mit den gesendeten Dateien umgehen ?
Z.B. alle ankommenden Dateien in einem bestimmten Verzeichnis z.B. "Incomeing Files" ablegen. Damit die Dateinamen eindeutig sind kannst Du temporäre generierte Namen verwenden. Entweder über die Windows-Funktion oder durch z.B. "file_"+inttostr(AThread.ThreadID) oder Du schickst den Namen der Datei mit bevor Du den Stream sendest.

3. Ich habe noch ein weiters Bsp. zu dem Thema hier gepostet, weil das erste hier ein Quick-Hack war und ich mit dem Ding nicht wirklich zufrieden war :
http://www.delphipraxis.net/internal...highlight=indy

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
holidudu

Registriert seit: 24. Apr 2004
12 Beiträge
 
#18

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 25. Apr 2004, 00:36
Zitat:
also wenn Dir meine Arbeit so gefällt, dann zieh Dir www.telwell.de]TelWell Messenger[/URL]
rein, das ist ein Messenger den ich auf Indy Basis geschrieben habe. Meine Nummer da 1011
Das lass ich mir bestimmt nicht zweimalsagen...

Danke erstmal für die tolle Hilfe hier! Ich melde mich dann morgen in aller Frische...
  Mit Zitat antworten Zitat
holidudu

Registriert seit: 24. Apr 2004
12 Beiträge
 
#19

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 26. Apr 2004, 20:54
@ DataCool

Zitat:
original von DataCool

2. Wie jetzt mit den gesendeten Dateien umgehen ?
Z.B. alle ankommenden Dateien in einem bestimmten Verzeichnis z.B. "Incomeing Files" ablegen. Damit die Dateinamen eindeutig sind kannst Du temporäre generierte Namen verwenden. Entweder über die Windows-Funktion oder durch z.B. "file_"+inttostr(AThread.ThreadID) oder Du schickst den Namen der Datei mit bevor Du den Stream sendest.
Das verstehe ich jetzt nicht ganz... warum sollte es uneindeutige FileNames geben? Der jeweilige Name der Datei wird doch jedesmal mitgeschickt, oder?

Aber darum geht es mir eigentlich garnicht in erster Linie...

An welcher Stelle in deinem code könnte ich z.B. am besten sowas wie einen SaveDialog einbauen? Ich möchte, dass man optional wählen kann ob man das File gezielt auf Platte oder in einem Incoming speichern will. Ich bin deswegen der Meinung, (dass das Sinn macht) weil man das Programm dadurch auch fürs LAN tauglich machen würde. So nach dem Motto: "He Otto... schieb doch mal eben das neueste Moorhuhn rüber!"
Und da wäre es praktisch wenn der Server-User das File gezielt ablegen könnte. Nur so als Option, weisst du?
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#20

Re: Probleme beim Versenden von Dateien mit Indy TCPClient

  Alt 27. Apr 2004, 10:45
Hi Holidudu,

der Sinn und Unsinn des SaveDialogs ist mir schon klar

Wenn Du gerne dem Benutzer die Möglichkeit zum gezielten Speichern geben möchtest, dann mach es doch ähnlich wie Kazaa und eMule !
Mach Dir ein Verzeichnis Incoming Files ! Dort speichere zuerst die angekommenden Dateien ! In einer Listbox oder einen Listview zeigst Du dem User als empfangene Dateien an, dort kann er Sie dann über einen SaveDialog woanders hin speichern.

Wenn Du damit nur was wie einen FileTransfer wie bei ICQ hinbekommen willst, kannst Du auch mit einen Save-Dialog aus der Server Code raus arbeiten, aber wie vorher schon gesagt, dieser muss dann syncronisiert aufgerufen werden.

Gruß Data
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 18:53 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