Announcement

Collapse
No announcement yet.

Datei(stream) an Benutzer schicken

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datei(stream) an Benutzer schicken

    Hey,

    Hab folgendes vor: Mein Webserver läd eine externe Datei auf den Server runter. Wärend die Datei noch läd, soll es möglich sein, dass der Server die Datei an Webseitenbesucher hochläd.

    Problem: wenn der Download der Datei auf den Server langsamer ist als der Upload zum Benutzer wird der Upload abgebrochen! (eig. sollte dann der Uploadspeed auf den Downloadspeed gedrosselt werden)...

    Hat jemand eine Idee wie ich das realisiere?

    Danke
    Cracker0dks

  • #2
    Den Response auf den Download des Server legen.
    Christian

    Comment


    • #3
      Der Download läuft doch getrennt... und hat mit demUploadskrip zum Benutzer nix am Hut... oder versteh ich da was falsch ?

      Comment


      • #4
        Das ist kein UPLOAD zum Benutzer, sondern ein Download

        Warum trennst du das? Warum nicht den "Eingang" des Webservers auf den "Ausgang" zun Client legen?
        Christian

        Comment


        • #5
          Du meinst, wenn ich an den Downloadstream komme, soll ich diesen garnicht zwischenspeichern, sondern direkt durchschleusen ?

          Der Server läd aber mit einem Javaprogramm.... und die PHP datei müsste ja dann irgendwie schon auf den Stream warten und weiterleiten.
          Das dies der bessere Weg ist ist mir auch klar nur ob ich das hinbekomme?!
          Das ist nicht wirklich einfacher oder ?

          Comment


          • #6
            Es wäre mal schön alle Infos zu bekommen....

            Der Server läd aber mit einem Javaprogramm.... und die PHP datei müsste ja dann irgendwie schon auf den Stream warten und weiterleiten.
            Und was macht der Server mit dem Java-Stream?
            Warum wirdn dann nicht sowieso JAVA genutzt?
            Christian

            Comment


            • #7
              mmm wie stellst du dir das vor ?

              Kann doch nicht einfach den Stream an die IP des Benutzers schicken... der muss doch schon drauf warten...

              Der Benutzer soll kein extra Programm brauchen... nur seinen Browser.

              Kann ich schlecht mit Java alleine lösen. Brauch ich noch PHP fürn Browser.

              Comment


              • #8
                Wenn du alles in Java programmiert hättest, könntest du den Inputstream des Webservers-Upload als Outputstream an den Client benutzen.

                Der Benutzer soll kein extra Programm brauchen... nur seinen Browser.
                Was das mit der Fragestellung zu tun hat, erschließt sich mir nicht

                Kann ich schlecht mit Java alleine lösen. Brauch ich noch PHP fürn Browser.
                ?? Wozu brauchst du PHP? Sicherlich kann das alles in Java gelöst werden. Falls es noch nicht bekannt ist, ist Java eine vollständige serverseitige Sprache mit Frameworks wie Struts, JSP, JSF u.a. die den Aufbau einer Website ermöglichen

                Kann doch nicht einfach den Stream an die IP des Benutzers schicken
                Sicherlich geht das


                Und was ist mit

                Und was macht der Server mit dem Java-Stream?
                Christian

                Comment


                • #9
                  So dann nochmal auf Anfang...
                  Wies bisher aussieht!
                  Step 1. Der Benutzer gibt auf der Webseite einen Link einer Datei an die er gerne haben will.
                  Step 2. Der Link wird an das Java Programm gegeben.
                  Step 3. Das Javaprogramm logt sich mit user und PW auf einem anderen Server ein und läd die Datei
                  Step 4. Der Dateistream wird auf dem Server in einer Datei gespeichert.
                  ---- Soweit bin ich --- was jetzt passieren soll
                  Step 5. der Dateistream soll an den Nutzer geleitet werden.

                  Soooo
                  Vill kommen wir jetzt auf eine Elegante und einfache Lösung ?
                  Danke für deine Geduld

                  Comment


                  • #10
                    Vill kommen wir jetzt auf eine Elegante und einfache Lösung ?
                    Nein, sehe ich nicht. Durch den Bruch in der Implementierung mit der damit verbundenen Einschränkung

                    Der Dateistream wird auf dem Server in einer Datei gespeichert.
                    sehe ich keine praktikable Lösung.

                    PHP ist darauf angewiesen, dass die Datei "fertig geladen" ist, wenn sie zum Client gesandt werden soll. Da dies offenbar noch nicht der Fall ist, gibt es das Problem.

                    Man könnte wahrscheinlich was zusammenfrickeln, das PHP einen HTTP 301 an den Client sendet, mit dem Ziel eines Scriptes, das den Zustand des Serverdownloads prüft und dann den eigentlichen Download an den Client einleitet. Oder dem Client eine Seite senden, die einen META-REFRESH enthält, der auch auf ein entsprechendes Script geht.

                    Was macht das Javaprogramm mit dem Response?

                    Sorry, aber das ist ein vermurkstes Design der Anwendung. Wenn der Server per Java läuft, dann auch die Website dazu

                    Aber vielleicht gibt es andere Lösungen....
                    Christian

                    Comment


                    • #11
                      Ok also werd dann am besten den Webserver ins Javaprogramm implementieren... oje oje xD

                      Soll ja auch was solides werden^^
                      Danke für deinen Rat

                      gruß

                      Comment


                      • #12
                        Webserver? Für das "Javaprogramm" muss doch ein Webserver (Tomcat, JBoss o.a.) laufen?
                        Zuletzt editiert von Christian Marquardt; 19.06.2011, 20:52.
                        Christian

                        Comment


                        • #13
                          ja läuft ein apache schon aber damit ich den Dateistream weiterleiten kann, sollte ich doch wohl den Webserver quasi im Javaprogramm implementieren...

                          Edit: du weißt doch jetzt ganau was ich bezwecken will... was würdest du jetzt wo implementieren und wie verbinden ?
                          das muss zuverlässig funktionieren...
                          Zuletzt editiert von cracker0dks; 19.06.2011, 23:26.

                          Comment


                          • #14
                            Da kann kein Apache laufen, der kann kein Java...


                            sollte ich doch wohl den Webserver quasi im Javaprogramm implementieren...
                            Das verstehe ich nicht. Wozu willst du einen Webserver ins Javaprogramm integrieren?


                            Edit: du weißt doch jetzt ganau was ich bezwecken will... was würdest du jetzt wo implementieren und wie verbinden ?
                            das muss zuverlässig funktionieren...
                            Ich würde eine Applikation aus eine Guss schreiben und nciht die Serversprachen mischen
                            Christian

                            Comment


                            • #15
                              Ok... bin schon drann alles in PHP umzusetzten...

                              aber jetzt ne neue Frage...

                              wenn ich folgenden downloadskript habe:

                              Code:
                              session_start();
                              
                                  header("Content-Type: application");
                                  header("Content-Disposition: attachment; filename=\"".$_SESSION['dateiname']."\"");
                                  readfile($_SESSION['dllink']);
                              Sieht dann der server von dem geladen wird die server ip (also die auf dem der Webserver läuft) oder die user IP (webseiten benutzer)?

                              Danke

                              Comment

                              Working...
                              X