Entwickler-Ecke

Internet / Netzwerk - Dateien über Netzwerk


Fighter#1 - Do 29.06.06 18:12
Titel: Dateien über Netzwerk
Hallo,
ich möchte Dateien über das Netzwerk verschicken.
Ich habe das Tut von Narses durchgelesen, möchte aber die Indys dafür verwenden.
So also: Welche Komponente eignet sich dafür?
Wie kann man das mit der Komponente bewältigen?

Ich kann mir vorstellen, dass mir viele die FTP Komponente empfehlen werden, nur soll es möglichst einfach sein ...
MfG Fighter#1


Narses - Do 29.06.06 18:22

Moin!

Die dann folgende, wesentlich interessantere, Frage ist:

Willst du einfach nur einen Stream versenden (also verbinden -> Stream durchquetschen -> auflegen) oder soll über die Verbindung auch noch "was Anderes" (was auch immer) abgewickelt werden?

Im ersten Fall gibt es Tuts und Snippets wie Sand am mehr, einfach mal Suchen. Im zweiten Fall kommst du IMHO an einem Protokoll nicht vorbei. Über welche Kompo der Indies du dann den Transfer abwickelst, ist eher zweitrangig, z.B. der IdTcpServer/IdTcpClient sollten dazu brauchbar sein. UDP geht aber auch, ist allerdings aufwändiger.

cu
Narses


Fighter#1 - Do 29.06.06 19:57

Protokoll steht schon, die Datei soll aber seperat gesendet werden (unabhängig von den zum Protkoll verwendeten Sockets). Eine Datei über die Sockets zu senden dauert sehr lang.
es muss so schnell wie möglich gehen, Datei ist etwa 100 kb groß.

Ich hab es mit nem Stream probiert, dauert mir allerdings zu lange.
Wie geht das mit den Indy TCPs?


Narses - Do 29.06.06 22:27

Moin!

user profile iconFighter#1 hat folgendes geschrieben:
die Datei soll aber seperat gesendet werden

Dann kannst du einen der vielen Ansätze zum Senden eines Streams verwenden; gibt genug Auswahl. ;)

user profile iconFighter#1 hat folgendes geschrieben:
Eine Datei über die Sockets zu senden dauert sehr lang.

Warum? :gruebel: Nein, dauert nicht wirklich lange, und wenn doch, machst du was Konzeptionelles falsch. ;) Wobei "lange" ein relativer Begriff ist, hängt ja auch von der überhaupt möglichen Transferrate ab etc.

user profile iconFighter#1 hat folgendes geschrieben:
es muss so schnell wie möglich gehen, Datei ist etwa 100 kb groß.

Das ist - im LAN - ja praktisch nix. Sollte unterhalb einer Sekunde möglich sein (auch mit den Sockets).

user profile iconFighter#1 hat folgendes geschrieben:
Ich hab es mit nem Stream probiert, dauert mir allerdings zu lange.

Die Aussage ist IMHO so pauschal, dass sie in meinen Augen nur als "falsch" gelten kann. ;) Abgesehen davon: wie willst du das denn sonst machen? Was für Alternativen sollen denn in Betracht kommen? :gruebel:

user profile iconFighter#1 hat folgendes geschrieben:
Wie geht das mit den Indy TCPs?

Wie ich schon sagte, gibt ausreichend Beispiele dazu, auch hier im Forum. Konkreter Code hängt von der verwendeten Indy-Version ab. Such halt mal ein bischen.

cu
Narses