Autor Beitrag
daimoi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 06.04.10 22:18 
Hey Leute,
nur 'ne kurze Frage. Wie kann man eine Datei vom Server zum Clienten übertragen?
Ich brauche nicht den ganzen Code, würde reichen wenn ihr mir sowas wie IOHandler.Write für den Server nennt.

Habe bereits gesucht, allerdings habe ich nichts wirklich relevantes gefunden. Die Indy Demos sind auch irgendwie down. Habe vorher nur ein wenig mit den standard Sockets gearbeitet...

Danke im Voraus =)
W4yne
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 50



BeitragVerfasst: Di 06.04.10 23:01 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.IdTCPServer1Execute(AContext: TIdContext);
begin
AContext.Connection.IOHandler.ReadStream
end;

Hoffe das is das, was du meinst.

mfg W4yne

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
daimoi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 06.04.10 23:07 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Nicht wirklich, möchte eine Datei über den IndyTCPServer an einen bestimmten verbundenen Client verschicken. Danke trotzdem.
W4yne
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 50



BeitragVerfasst: Di 06.04.10 23:21 
Wie wärs mit.
ausblenden Delphi-Quelltext
1:
AContext.Connection.IOHandler.Write					

mfg W4yne

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
daimoi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: Di 06.04.10 23:26 
Ich muss aber einen bestimmten Clienten bestimmen können, so weiß ich ja gar nicht an wen das geht !?
W4yne
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 50



BeitragVerfasst: Di 06.04.10 23:36 
ausblenden Delphi-Quelltext
1:
AContex.Connection[1].IOHandler.write					

Ka ob das so funktioniert.

mfg W4yne

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
daimoi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 19



BeitragVerfasst: So 11.04.10 01:51 
user profile iconW4yne hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden Delphi-Quelltext
1:
AContex.Connection[1].IOHandler.write					

Ka ob das so funktioniert.

mfg W4yne

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt

Funktioniert nicht und wenn ich die Datei an alle Clienten schicke weiß ich nicht wie ich sie empfangen soll. Es gibt kein Onread Event beim Clienten und auch kein OnExecute *-*

Google spuckt meinen eigenen Thread auf Platz eins aus:
www.google.de/search...ragung&esrch=FT1

Wenn ich einen Timer verwende wird die Verbindung getrennt.
Toll, dass die Indy Komponenten sowas simples nicht bieten. Das sind keine Indy sondern Inder Komponenten aus der dritten Welt ._.
Anscheinend ist es nicht möglich vom Server zum Clienten zu übertragen. Ich werde auf die guten alten Socket Komponenten zurückgreifen, die können wenigstens sowas. Nicht mal die Demos sind erreichbar auf dem Inder Server.
acadam71
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 21



BeitragVerfasst: Di 13.04.10 16:16 
Also was noch Einfacheres als Daten zum Client zu senden als mit Indy gibt es nicht...
Der Client muss halt mit Read ohne Pause lesen, entweder mit Timer oder im Thread.

Btw: noch einfacher wäre es, wenn Du zusätzlich zu TcpServer/Client einfach noch die FtpServer/Client hinzupacken würdest. Einfach vom Server einen selbstgemachten Befehl (inkl. Dateinamen) an den TcpClient senden, dass er gefälligst die Datei vom FtpServer herunterladen soll - fertig! Dazu könntest Du auch einen anderen FTP-Server nutzen.