AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?
Thema durchsuchen
Ansicht
Themen-Optionen

Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

Ein Thema von SearchBot · begonnen am 21. Jul 2015 · letzter Beitrag vom 23. Jul 2015
Antwort Antwort
Seite 1 von 2  1 2      
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
272 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 21. Jul 2015, 08:04
Hallo,

ich habe da ein Projekt, bei dem ich Daten über eine Software-Schnittstelle von einem Messgerät abfragen kann. Das dauert aber lange bei einem gewissen Datenumfang.
Das Messgerät hat Windows2000 drauf und ist über Netzwerk zu erreichen. Es kann aber auch lokal CSV-Dateien speichern, die Schnittstelle hat aber keine (mir bekannten) Befehle, diese Datei auf einen anderen PC zu übertragen. Da hab ich mir gedacht, das geht ja dann auch alternativ über die Netzwerkverbindung.

Weil ich das Gerät aber nicht daheim habe, muss ich ein bisschen blind programmieren. Es geht also "nur" darum, mit einem geeigneten Protokoll auf "einfache" Weise aus dem Dateisystem von Windows2000 eine Textdatei auf einen anderen PC (mit Windows7) zu übertragen. Die Datei ist 50kB groß.

Ich hab mir dann überlegt, es mit einem kleinen Serviceprogramm auf dem Messgerät zu machen, das ich vom Zielrechner anspreche und die Datei anfordere. Das Serviceprogramm sendet es mir dann übers Netzwerkkabel zu.

Hab mir dann gedacht, bevor ich stundenlang in die falsche Richtung arbeite, frag ich die Netzwerkexperten hier mal...

Welches Protokoll wäre also da am besten geeignet, wenn ich nur die IP-Adresse habe und nicht groß mit Passwörtern und Freigaben rumbasteln will?
IPX, Telnet, UDP, HTTP, oder ganz anders?

Danke schon mal...
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 21. Jul 2015, 08:52
Du bastelst Dir einen Service der einen HTTP-Server beinhaltet und einen WebService bereitstellt. SOAP, REST,XML-RPC, je nach belieben
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von frankyboy1974
frankyboy1974

Registriert seit: 7. Apr 2015
Ort: SH
169 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 21. Jul 2015, 08:58
Hallo,

man kann Dateien natürlich auch mittels Http übermitteln, ich würde aber tendenziell zu FTP (File Transfer Protokoll) tendieren.
UDP liegt auf der 4 Schicht des OSI-Modells, und liegt somit unterhalb von HTTP und FTP (5- 7 Schicht), würde ich aber nicht unbedingt empfehlen. Normalweiser verwendet man auf der 3 und 4 Schicht TCP/IP, da hier sicher ist, dass die Daten auch auf der anderen Seite angekommen sind. IPX wäre das Gegenstück zu TCP/IP von Novell. Da du selbst von einer IP-Adresse gesprochen hast, fällt das wohl weg. Telnet wäre möglich, würde ich aber nicht nehmen. Meine Empfehlung wäre FTP oder HTTP, dü würdest also entweder einen entsprechenden Server selbst implementieren (oder eben einen fertigen nehmen Stichwort Apache) und mit dem entsprechenden Client kannst du dann die Dateien abrufen.

mfg

frank
Java ist auch eine Insel.
Ist Delphi von Oracle?
In meiner Buchstabensuppen fehlt das C++!
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.594 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 21. Jul 2015, 09:04
Stimmt, FTP ist mir jetzt glatt durch die Lappen gegangen, gibts ja schon fertig.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 21. Jul 2015, 09:47
Moin...
Zitat:
Das Messgerät hat Windows2000 drauf
...die Preisfrage ist doch eher was auf dem Windows installiert ist bzw. ob man z.B. seinen eigenen Webserver z.B. installieren könnte. Das einfachste wäre doch wenn die CSV auf einer allgemein verfügbaren Netzwerkfreigabe liegen würde...dann einfach kopieren.
  Mit Zitat antworten Zitat
SearchBot

Registriert seit: 27. Jun 2004
Ort: N-W vom Bodensee
272 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 22. Jul 2015, 00:49
Danke schonmal für diese Ansätze.

Moin...
Zitat:
Das Messgerät hat Windows2000 drauf
...die Preisfrage ist doch eher was auf dem Windows installiert ist bzw. ob man z.B. seinen eigenen Webserver z.B. installieren könnte. Das einfachste wäre doch wenn die CSV auf einer allgemein verfügbaren Netzwerkfreigabe liegen würde...dann einfach kopieren.
Ja, das war auch meine erste Idee, es wollte aber eine Anmeldung. Da war ich dann erstmal ratlos; wie soll ich das dann in Delphi bewerkstelligen...
Auch dem Messgerät sollte ich nach Möglichkeit besser nichts verändern; allenfalls mein kleines Tool zum Dateien übertragen

Hallo,

man kann Dateien natürlich auch mittels Http übermitteln, ich würde aber tendenziell zu FTP (File Transfer Protokoll) tendieren.
UDP liegt auf der 4 Schicht des OSI-Modells, und liegt somit unterhalb von HTTP und FTP (5- 7 Schicht), würde ich aber nicht unbedingt empfehlen. Normalweiser verwendet man auf der 3 und 4 Schicht TCP/IP, da hier sicher ist, dass die Daten auch auf der anderen Seite angekommen sind. IPX wäre das Gegenstück zu TCP/IP von Novell. Da du selbst von einer IP-Adresse gesprochen hast, fällt das wohl weg. Telnet wäre möglich, würde ich aber nicht nehmen. Meine Empfehlung wäre FTP oder HTTP, dü würdest also entweder einen entsprechenden Server selbst implementieren (oder eben einen fertigen nehmen Stichwort Apache) und mit dem entsprechenden Client kannst du dann die Dateien abrufen.
Was würde ich bei Telnet benötigen?
IPX empfand ich früher bei den lokalen Netzwerkspielen das einfachere Protokoll, weil das immer gleich funktioniert hatte, während TCP/IP so oft geklemmt hatte. Würde es vielleicht gehen, da das Messgerät ja direkt an den PC angeschlossen ist (Peer-to-peer), wenn ich auf die IP-Adresse verzichte? Was bräuchte ich dann von den Indy-Komponenten?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 22. Jul 2015, 05:13
Moin...
Zitat:
Auch dem Messgerät sollte ich nach Möglichkeit besser nichts verändern; allenfalls mein kleines Tool zum Dateien übertragen
Dann würde ich einen kleinen TIdHTTPServer machen. Ist am ehesten unkompliziert. Auch dann auf der Client Seite. In der Erweiterung kann man dann auch ggf. eine Verschlüsselung draufsetzen.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#8

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 22. Jul 2015, 06:59
Wenn Du die Anmeldeinformation vom Messgerät hast, dann reicht ein Batch:
Code:
net use X: \\123.123.123.123\c$ /user:USERNAME PASSWORD
copy x:\Messgeraetevertzeichnis\Datei c:\woimmerDuDasHabenWillst
Wobei 'X:' ein freier Laufwerksbuchstabe ist und '123...' die IP-Adresse vom Messgerät. Das 'net use' könntest Du auch als Autostart-Batch ausführen. Oder Du löst die Verknüpfung im o.g. Batch wieder mit 'net use X: /DELETE'

Alternativ installierst/aktivierst Du FTP auf dem IIS des Messgeräte-PC. Dann holst Du die Datei entweder über eine FTP-Komponente (wenn Du unbedingt programmieren willst) oder über ein FTP-Batch. Wie das geht, steht hier:
http://www.simplescripts.de/ftp-comm...atch-files.htm

Du kannst natürlich auch ein Programm schreiben. Aber wozu?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.292 Beiträge
 
Delphi 12 Athens
 
#9

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 22. Jul 2015, 08:04
Hallo Dejan Vu,
Zitat:
Auch dem Messgerät sollte ich nach Möglichkeit besser nichts verändern; allenfalls mein kleines Tool zum Dateien übertragen
...der IIS ist zwar eine Möglichkeit aber imho für diesen Zweck mit Kanonen auf Spatzen geschossen. Wie arbeiten doch mit Delphi. Da ist ein Mini HTTP Server quasi ein "Dreizeiler"... Da die Daten eh in sein Programm eingelesen werden programmiert er sowieso.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#10

AW: Datei im Netzwerk kopieren mit Indy - aber welche Komponente eignet sich?

  Alt 22. Jul 2015, 08:24
Hallo Haentschman.

Ich finde, man arbeitet in erster Linie mit Windows und nicht mit Delphi. Wozu soll man seine Ressourcen für das Schreiben eines Programms verschwenden, das man schreiben, testen, dokumentieren und installieren muss, wenn es etwas Fertiges gibt? Siehe auch https://de.wikipedia.org/wiki/Not-invented-here-Syndrom

IIS ist keine Kanone, FTP kein Spatz. Der IIS ist Bestandteil von Windows 2000. Du benutzt doch auch den Aschenbecher deines Autos, und bastelst Dir keinen eigenen aus Alufolie.

Ich würde FTP aber nur dann nehmen, wenn der Zugriff auf Daten des Gerätes allgemein gewünscht wäre. Ansonsten würde ich die Windows-Bordmittel ('net use' z.B.) nehmen und viieeel Zeit sparen. Wozu in aller Welt sollte man ein YAFT (Yet another File Transfer) Tool schreiben?
  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 17: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