Hallo Forum,
ich programmiere zurzeit an einem Filesharing Programm und mache es so, dass der Client über TCP zu einem Server verbinden muss und dann alle freigegebene Dateien eines anderen ansehen kann.
Das funktioniert schon ganz gut, aber ich weiß noch nicht, wie ich den Dateiaustausch angehen soll.
Und zwar möchte ich gerne die Dateien von Client zu Client austauschen und nicht von Client zu Server und dann zu Client, aber da liegt das Problem:
Ich weiß nicht, wie ich die Dateien an den Client schicken soll, ohne den Port auf beiden Seiten freizugeben.
Aber irgendwie muss das ja gehen, weil zum Beispiel das mit TeamViewer oder mit DCC Chat bei IRC Clients ja auch geht, ohne irgendeinen Port freizugeben.
Über den Server mag ich das nicht unbedingt machen, weil das dann bestimmt ziemlich langsam wird und ich den Server nicht auslasten möchte.
Nutzt TeamViewer irgendeinen Trick und lässt sich das auch über VB.NET realisieren?
Oder kann man dass irgendwie mit dem Server machen, dass der dann irgendwie Verbindungen zwischen den einzelnen Client herstellt und dann die weitere Übertragung ohne Server weitergeht???
Freue mich über Lösungen (wenn möglich)
ich programmiere zurzeit an einem Filesharing Programm und mache es so, dass der Client über TCP zu einem Server verbinden muss und dann alle freigegebene Dateien eines anderen ansehen kann.
Das funktioniert schon ganz gut, aber ich weiß noch nicht, wie ich den Dateiaustausch angehen soll.
Und zwar möchte ich gerne die Dateien von Client zu Client austauschen und nicht von Client zu Server und dann zu Client, aber da liegt das Problem:
Ich weiß nicht, wie ich die Dateien an den Client schicken soll, ohne den Port auf beiden Seiten freizugeben.
Aber irgendwie muss das ja gehen, weil zum Beispiel das mit TeamViewer oder mit DCC Chat bei IRC Clients ja auch geht, ohne irgendeinen Port freizugeben.
Über den Server mag ich das nicht unbedingt machen, weil das dann bestimmt ziemlich langsam wird und ich den Server nicht auslasten möchte.
Nutzt TeamViewer irgendeinen Trick und lässt sich das auch über VB.NET realisieren?
Oder kann man dass irgendwie mit dem Server machen, dass der dann irgendwie Verbindungen zwischen den einzelnen Client herstellt und dann die weitere Übertragung ohne Server weitergeht???
Freue mich über Lösungen (wenn möglich)