Anzeige:
Ergebnis 1 bis 12 von 12

Thema: User to User Filetransfer

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.07.2005
    Ort
    GM
    Beiträge
    10

    User to User Filetransfer

    Hallo zusammen,

    ich hab mir überlegt mal wieder etwas zu programmieren. Eine Idee habe ich auch schon mit fehlt aber der Ansatz, wie ich das ganze realisieren könnte.
    Ich möchte zwei Benutzern meiner Webseite die Möglichkeit bieten eine Datei auszutauschen, ohne das sie dazu auf meinem Webserver gespeichert werden muss. Das soll dann so aussehen, dass der Benutzer 1 über einen normalen Fileupload eine Datei auswählt, dann ein link erzeugt wird, den er Benutzer 2 geben kann und Benutzer 2 dann direkt von Benutzer 1 die Datei empfängt ohne das dem Webserver für den Transfer Traffic ensteht.

    Meine Gedanken gehen momentan in die Richtung:
    Benutzer 1 stellt die Anfrage an den Webserver, der Webserver merkt sich die Anfrage, generiert den Link. Benutzer 2 bekommt den Link und signalisiert damit seine Downloadbereitschaft. Nun muss der Webserver die IP von Benutzer 2 mit der Anfrage von Benutzer 1 koppeln um den Download bzw. Upload einzuleiten.

    Da ich noch keinen wirklichen Ansatzpunkt habe wär ich über jeden Tip, Codeschnipsel oder anderweitige Informationen dankbar. Schön wäre, wenn das ganze mit einer Skriptsprache realisiert würde. Am liebste PHP oder Perl.

    Ich hoffe man konnte meinen Gedanken folgen.

    Danke schonmal

    Andy

  2. #2
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Das wirst du nicht als reine Server-App schreiben können (wär ja noch schöner, wenn irgend jemand eine Datei von meinem Computer anfordern könnte und diese ihm dann geschickt würde ^^). Ist wohl aber eher komplex - ich würd mich mal über Bit-torrent informieren (da wird das ja - afaik - in etwa so gemacht...).

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  3. #3
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Ich mache so etwas ähnliches mit FTP und meinem DSL Modem.
    Wenn es sich mit Internet verbindet sendet er ein push an meinen Server der die Adresse speichert. Es gibt verschieden Hacks für die AVM Modems weil sie ein Linux Kernel haben.
    http://www.wehavemorefun.de/fritzbox..._/_Recompiling
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.07.2005
    Ort
    GM
    Beiträge
    10
    Hey ihr beiden. Danke für die Antworten. Ich bin selber ja auch immer noch am zweifeln ob das geht. Ich hatte gehofft, dass hier jemand besser darüber bescheid weiss als ich.

    Zitat Zitat von bischi Beitrag anzeigen
    (...) (wär ja noch schöner, wenn irgend jemand eine Datei von meinem Computer anfordern könnte und diese ihm dann geschickt würde ^^). Ist wohl aber eher komplex - ich würd mich mal über Bit-torrent informieren (da wird das ja - afaik - in etwa so gemacht...).

    MfG Bischi
    Es fordert ja nicht jemand eine Datei an. Ich gebe eine Datei zum Tausch frei (biete sie also an), der Server vermittelt nur diese Datei und auch nur diese Datei kann denn der Andere runter laden. Bittorrent ist mir bekannt. Das geht aber nicht ohne eine zusätzliche Anwendung. Ich möchte, wenn es geht, dass ganze im Browser realisieren.

    @undefined
    Ich sehe den Zusammenhang zu dem was ich geschrieben habe nicht.

  5. #5
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Zitat Zitat von sxe Beitrag anzeigen
    ......................
    @undefined
    Ich sehe den Zusammenhang zu dem was ich geschrieben habe nicht.
    Mein DSL Modem hat ein FTP Zugang.
    Wenn ich mich mit dem Internet Verbinde sendet er an meinen Server die IP.
    Mein Server logt die IP für FTP in eine Apache.conf und macht ein reload.
    Über Apache und dem Module mod_proxy leite ich den FTP Zugang auf meinen Webserver um.
    Ab jetzt können Angemeldete Freunde auf meine Lokalen FTP Zugreifen ohne das ich einen Dynamischen DNS Zugang benötige.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Zitat Zitat von sxe Beitrag anzeigen
    Es fordert ja nicht jemand eine Datei an. Ich gebe eine Datei zum Tausch frei (biete sie also an), der Server vermittelt nur diese Datei und auch nur diese Datei kann denn der Andere runter laden. Bittorrent ist mir bekannt. Das geht aber nicht ohne eine zusätzliche Anwendung. Ich möchte, wenn es geht, dass ganze im Browser realisieren.
    Das heisst du möchtest einen Bittorrent Client in Javascript schreiben?

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  7. #7
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    als webanwendung wird das nicht funktionieren.

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.07.2005
    Ort
    GM
    Beiträge
    10
    Hi zusammen,

    nun hatte ich doch glatt vergessen zu antworten. Bin mittlerweile auch der Meinung das das nicht geht. Man müsste das schon mit Java applets oder dergleichen machen.

    Trotzdem vielen Dank für eure Anmerkungen.

    Adios

  9. #9
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Zitat Zitat von sxe Beitrag anzeigen
    Hi zusammen,

    nun hatte ich doch glatt vergessen zu antworten. Bin mittlerweile auch der Meinung das das nicht geht. Man müsste das schon mit Java applets oder dergleichen machen.

    Trotzdem vielen Dank für eure Anmerkungen.

    Adios
    auch das geht nicht. eine Verbindung ohne server ist uU sogar überhaupt nicht möglich. bei heise gabs mal einen interessanten artikel darüber wie skype das macht (firewalls durchbohren). Wobei auch Skype uU auf
    einen Server als zwischenstation zurückgreift.

  10. #10
    Registrierter Benutzer
    Registriert seit
    19.07.2005
    Ort
    GM
    Beiträge
    10
    hi msi,

    also ohne mich zu weit aus dem Fenster zu legen meine ich gelesen zu haben, dass es möglich ist eine Applet zu Applet Kommunikation aufzubauen. Vorausgesetzt sie kommen vom gleichen Server und man signiert sie.

    Kann mich aber auch irren. Hab mich da noch nicht tiefer eingearbeitet.

    Grüße

  11. #11
    Registrierter Benutzer
    Registriert seit
    18.03.2005
    Beiträge
    211
    Ich möchte, wenn es geht, dass ganze im Browser realisieren.
    mit sockets iss ne ganze menge moeglich, weiss ned welche virtuelle Umgebung (runtimes) sowas erlauben und ob mans im browser in scharfschalten kann ^^
    - denk mal die 1. kleine huerde wird sein, zugriffs aufs filesystem zu bekommen.
    aber wenn man das als normalen download "verkleided" sollts wiederum kein problem sein.
    - die wesentlich roessere heurde sehe ich im aufbau einer peer to peer verbindung. bei HTTP kontaktiert man den server .... du willst das jemand, evtl ueber nen server, deinen client kontaktiert. das wird nicht moeglich sein. die meisten firewalls / proxies lassen keine Aufrufe von aussen zu, man muesste extra portforwarding aktivieren.

    besser : den server die datei steuckchenweisse entgegennehmen lassen (nicht vollstaendig) und das gleich an den anderen rausgeben ....
    das sollt man vielleicht machen koennen ....
    wie gesagt um ein Handling ala, ich hab eine datei zum downloaden fuer dich , klick mal genau in den naechsten 2 sek auf den temp. link .... wirst ned herumkommen. Dazu sind die clients viel zu dynamisch aufgestellt, als das du sie von nem server aus triggern kannst, sondern sie muessen immer den server triggern.

    Ciao ...

  12. #12
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Zitat Zitat von sxe Beitrag anzeigen
    hi msi,

    also ohne mich zu weit aus dem Fenster zu legen meine ich gelesen zu haben, dass es möglich ist eine Applet zu Applet Kommunikation aufzubauen. Vorausgesetzt sie kommen vom gleichen Server und man signiert sie.

    Kann mich aber auch irren. Hab mich da noch nicht tiefer eingearbeitet.

    Grüße
    das funktioniert sicher nicht applet zu applet ohne server dazwischen.
    der grund ist die meisten rechner sind hinter einer nat firewall. Dadurch
    können sie zwar nach außen verbinden, aber keine verbindungen von außen
    annehmen.
    aus diesem grund hast du eignetlich nur die möglichkeit den server als host dazwischen zu nutzen über den der ganze datenverkehr läuft.

    so und im widerspruch zu meiner oberen aussage :
    es gibt jedoch tatsächlich möglichkeiten eine host zu host verbindung aufzubauen, jedoch funktioniert das a) nicht immer und b) ist es aufwendig und c) funktioniert das nur mit udp. Wenn jemanden interessiert wie das funktioniert, hier ist der artikel wie skype das macht: http://www.heise.de/security/artikel...en-270856.html

    jedoch vergiss es so eine anwendung schreiben zu wollen das ist wirklich aufwändig und du hast nur udp.. benutz lieber einen relay host. wenn du es doch versuchen willst informier dich auch mal noch über STUN vllt hilft dir das was viel spaß

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •