String und Bitmap zwischen 2 Rechnern übertragen

  • VB.NET

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von YtEx.

    String und Bitmap zwischen 2 Rechnern übertragen

    Nun, ich möchte mal wieder ein Programm entwickeln, das Daten zwischen 2 Rechnern übertragen muss.

    Die Aufgabe:

    - Das Programm muss Daten übertragen, ohne dass irgendwelche Ports oder ähnliches freigeschaltet werden müssen
    - Das Programm sollte auch binäre Dateien (z.B. Datentyp Bitmap) übertragen
    - Das Programm soll eine Kombination sein (Das gleiche Programm auf beiden Rechnern)
    - Das Programm antwortet immer dem Rechner, der gesendet hat
    - Das Programm ist eine Konsolenanwendung

    Ich habe leider nur wenig Ahnung von Datenübertragung, deshalb wäre es nett, wenn ihr mir ein bischen auf die Sprünge helfen würdet.

    Ich hoffe, ihr versteht das Problem und könnt mir weiterhelfen!

    *Topic verschoben*

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Wenn keine Ports weitergeleitet werden sollen, dann geht es entweder nur lokal, oder über einen Server. Im Titel steht String, in der "Aufgabenstellung" werden binäre Dateitypen genannt.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Im Titel steht String, in der "Aufgabenstellung" werden binäre Dateitypen genannt.
    Sorry, hab ich vergessen...

    --------------------------------------

    Gibts hier sogar ein Tutorial für (von Malishh wenn ich nicht irre).

    Das kenne ich. Ich muss es aber nun schaffen, Daten vom Client1 zum Server und vom Server zum Client2 zu senden...
    Das ist Problem 1.
    Problem 2 ist, wie ich binäre Daten übertrage...?
    Was ist denn daran so schwer? Wenn du eh binär sendest würde ich jeweils einen BinaryWriter/Reader zum Senden/Empfangen über den Networkstream laufen lassen (Alternative wäre Streamwriter/reader + Base64) und naja... halt senden, empfangen und dann weitersenden (vom Server aus gesehen).

    Der Client muss regelmäßig auf dem Server nachsehen, ob es Daten zum Empfangen gibt und diese dann anfordern.

    Genau das hatte ich jetzt auch vor... :thumbup:


    Und genau das ist der falsche Weg... Der Server muss dem Client mitteilen, dass er Daten abholen soll.
    Du musst einfach:
    1. Dich mit dem Server verbinden und warten bis der passende Client verbindet
    2. Die Datei anfangen dem Server zu senden
    3. Der Server fängt an die Datei dem Client zu senden

    Bei welcher stelle liegt das Problem jetzt genau?

    beate schrieb:

    Bei welcher stelle liegt das Problem jetzt genau?
    Ich glaube an den allgemeinen Wissensstand des Threaderstellers.

    Das ist nunmal kein 0815 Code, hierfür werden schon diverse Kenntnisse benötigt, sowohl was Internetübertragungen angeht, als auch logisches Denken.
    Wie wäre es erstmal wen du das TCP Client/Server Tutorial in Tips und Tricks dir durchließt - das ist sogar ein Copy und Paste Code - damit kannst du erstmal etwas zwischen 2 Rechnern hin und her schicken. Damit lernst du, versuche hier erstmal ein Bild von A nach B und B nach A zu schicken. Dann kannst du dich dran machen einen Server zu entwickeln, der diese Übertragung ohne Ports über die normale Internetverbindung die auch ein Browser nutzt zu realisieren.
    Bei welcher stelle liegt das Problem jetzt genau?
    Bei Stelle 1. Ich habe einen einfachen TCP-Server. Es kann sich also immer nur 1 Client gleichzeitig einloggen.
    Deshalb will ich erst Client 1 einloggen lassen, der Schiebt die Daten auf den Server und dann Client 2, der holt sie sich dann.
    Ich konnte nur gestern nicht weiterarbeiten, weil mein Internetanbieter gewechselt hat und ich nicht ins Internet konnte.



    Bei welcher stelle liegt das Problem jetzt genau? Ich glaube an den allgemeinen Wissensstand des Threaderstellers.
    Teilweise stimmt das sogar. Denn sonst hätte ich mir ja schon einen Server geschrieben, der 2 Cliente annimmt...
    Genauer gesagt, kenn ich mich mit Treads nicht aus.

    Wie wäre es erstmal wen du das TCP Client/Server Tutorial in Tips und Tricks dir durchließt - das ist sogar ein Copy und Paste Code - damit kannst du erstmal etwas zwischen 2 Rechnern hin und her schicken.
    Hab ich bereits mit Strings gemacht. Dummerweise konnte man sich aber nicht 2-mal mit dem Server verbinden, sondern musste ihn neustarten...
    Wenn das funktioniert, werde ich das mit Bildern testen.

    Dann kannst du dich dran machen einen Server zu entwickeln, der diese Übertragung ohne Ports über die normale Internetverbindung die auch ein Browser nutzt zu realisieren.
    Und da hab ich jetzt keinen Plan, wie ich das machen müsste.


    Gruß
    YtEx

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „YtEx“ ()

    Wieso FTP, wo man das Prog Decoden kann und somit an die Zugangsdaten kommt oder die Verbindung mithören wo man ebenfalls sie bekommt.
    Benutzt HTTP, aber du hast zwar so einen Server, für die Daten, jedoch wird so ein Server nicht zum Client2 sagen "hallo es sind neue Daten da" hierfür benötigst du ein Script. Ich denke mit PHP kann man ja auch eine TCP Verbindung aufbauen und wenn Client1 das Bild via HTTP auf dein Server geladen hat, ein PHP script aufruft, die VerbindungsID übergibt, damit das Script weiß an welche IP der Befehl zum Abholen gesendet werden muss.
    Sorry war ein Schreibfehler. Verbessert. (FTP)

    Ich hab das noch nicht ganz gerafft, wie das mit dem PHP funktionieren soll...

    Ist aber auch nicht wichtig. In meinem Fall sollen Client 1 und Client 2 möglicht oft in der Sekunde Daten austauschen. Daher ist das Mitteilen, dass Daten vorhanden sind, nicht nötig, sondern würde eher Zeit kosten.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „YtEx“ ()