none
Daten zwischen 2 Computern übertragen RRS feed

  • Frage

  • Hallo,

    ich möchte (soweit es möglich ist) Daten zwischen 2 Computern übertragen. Diese gehöhren nicht dem selben Netzwerk an, das einzige was ich habe sind die IP-Adressen, vielleicht kann ich noch mehr Informationen Sammeln die man zum übermitteln braucht. Die Datenübertragung soll ohne Server ablaufen.

    Ich möchte von PC-A eine Datei (C:\info.txt) an PC-B senden. Ich habe etwas gegoogled, aber nichts gefunden.

    Kennt sich jemand damit aus? Hat jemand schonmal soetwas gemacht, was brauche ich alles?


    Koopakiller - http://koopakiller.ko.ohost.de/

    Sonntag, 12. August 2012 12:43
    Moderator

Antworten

Alle Antworten

  • Was spricht gegen SFTP?
    Sonntag, 12. August 2012 13:27
  • Hallo,

    Windows sieht von Haus aus Netzwerkfreigaben vor, womit eine Ablage im Dateisystem
    eines anderen Rechners ohne weitere Prozesse möglich ist.
    Ein Prozess auf dem empfangenden Rechner kann z. B. über einen FileSystemWatcher auf Änderungen reagieren.

    Für eine aktiven Austausch zwischen zwei Prozessen müss(t)en die sich auf ein Protokoll einigen.
    Siehe dazu http://stackoverflow.com/questions/1821680/peer-to-peer-file-transfer-c-sharp

    Gruß Elmar

    Sonntag, 12. August 2012 13:55
    Beantworter
  • Hallo,

    schon mal etwas von Named Pipes (benannten Pipes) gehört? Dabei kannst du von einem Prozess (auch von anderen PCs aus) Dateien über die Pipe schicken. Quasi wie ein Stream für IPC (Interprocess Communication). In der Beschreibung ist zwar auch von Server/Client die Rede, damit sind aber nur die Prozesse gemeint. Der Prozess, der die Pipe öffnet, ist der Server. Der Prozess, der sich auf die Pipe connected, ist der Client. Welcher Prozess liest und welcher schreibt, oder ob beide beides machen, ist deine Entscheidung.

    Hoffe, dass hilft dir weiter.

    Grüße,

    Steve.

    Montag, 13. August 2012 07:13
  • Danke für die Antworten. Ich würde gern etwas mehr Pipes erfahren,

    1. was ist der unterschied zwischen Named und Unnamed Pipes? Es tut mir leid, das ich anscheinend Google nicht richtig benutzen kann.

    2. Kann ich die auch für PC's verwenden die nicht im selben Netzwerk sind? (siehe Frage) Wenn ja, wie sieht dann der Servername aus, womit ich mich dann am Server anmelden kann?

    Wenn Pipes nicht über 2 (nicht übers Netzwerk vernetzte) Computer arbeiten können, wären SFTP und SSH.NET sicherlich auch alternativen


    Koopakiller - http://koopakiller.ko.ohost.de/

    Montag, 13. August 2012 15:56
    Moderator
  • Hi,

    steht eigentlich alles in dem Link über Pipes drin, den ich dir gepostet habe.

    Kurze Zusammenfassung der wichtigsten Punkte:

    Anonyme Pipes können nur auf derselben Maschine und nicht übers Netzwerk verwendet werden. Sie sind unidirektional, d.h. Daten gehen auf der einen Seite rein und auf der anderen Seite raus, aber nicht anders herum.

    Named Pipes können von verschiedenen Prozessen genutzt werden, solange sie den vollqualifizierten Namen (in der Form von \\ServerName\pipe\PipeName) besitzen. Zudem sind sie auch bidirektional, d.h. man kann Daten aus beiden Richtungen senden und empfangen.

    Damit sollte auch deine Netzwerkfrage beantwortet sein: ServerName steht für den Namen (bzw. die IP) des Rechners, auf dem sich der Prozess befindet, der die Pipe geöffnet hat. Da der Name/die IP nur innerhalb eines Netzwerks gültig ist, scheidet diese Option also für dich aus.

    Sorry, ich hatte das in deinem ersten Beitrag überlesen. Du hast es allerdings ein wenig umständlich beschrieben, denn deine einzige Möglichkeit ist schlicht und ergreifend die Datei via Internet zu übertragen. Dafür gibt es mehrere Möglichkeiten, wie FTP, Peer-To-Peer oder die, die hier schon genannt wurden.

    Montag, 13. August 2012 17:02
  • Ich habe es letzten endlich über SSH.NET gelöst, danke für die Antwort :)

    Koopakiller - http://koopakiller.ko.ohost.de/

    Freitag, 17. August 2012 18:09
    Moderator