Ankündigung

Einklappen
Keine Ankündigung bisher.

[suche lösungsansatz] Browser zum lauschen anregen

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [suche lösungsansatz] Browser zum lauschen anregen

    Gibt es irgendeine Möglichkeit, den browser dazu anzuregen auf einen request von einem Server zu lauschen OHNE, dass man ports offen hat ?

    es geht darum, dass ich ein multiusersystem realisieren kann, wo diverse leute gleichzeitig eigenschaften ändern können sollen, dies soll in echtzeit bei den anderen sichtbar sein, da ich jedoch nicht möchte, dass der client meinem server jede sekunde an der backe hängt, würde ich bei änderungen gerne den client benachrichtigen.

    Meine einzige Idee wäre mit Java ein kleines Skript zu bauen, welches lauscht und dann ein JS ausführt.

    Ich bin leider kein Java Entwickler, wäre sowas möglich ?

    Gibt es andere Ansätze, wie ich ohne anfrage einem client daten/strings schicken kann und via JS verarbeiten kann ?

  • #2
    Hola,

    ein Webserver ist einfach nicht dafür ausgelegt Daten ohne vorherige Anfrage von einem Client an einen Client zu schicken, auch kann ein Webserver keinen "request" an einen Client schicken.

    Eine mögliche Lösung wäre es ein komplettes Client-/Server-System zu entwicklen, ähnlich einem Chat.

    Jeder Deiner Anwender hat einen solchen Client bei sich installiert, startet ihn und meldet sich so am Server an. Führt er nun Änderungen durch, landen diese beim Server und dieser informiert die angeschlossenen Clients.

    Würde allerdings über Sockets laufen und offene Ports benötigen.

    Eine andere Möglichkeit fällt mir eben nicht ein.


    Bis dääähne.


    P.S. Java != JavaScript ...

    Kommentar


    • #3
      das hört sich ja nicht grade ermutigend an . . .

      das java nicht javaskript ist, weiss ich auch, aber ich meine (könnte mir vorstellen), dass java diese "lausch" funktion im browser übernhemen könnte, und dauraufhin ein javaSKRIPT anschupsen könnte

      Kommentar


      • #4
        auf einen request von einem Server zu lauschen OHNE, dass man ports offen hat
        Wie soll denn da der Request zum Browser kommen ?
        Solche Geschichten könnte ich mir nur mit ActiveX vorstellen.
        Prinzip so wie bei weblin.

        Kommentar


        • #5
          das es sich hierbei um nichts alltägliches handelt ist und war mir klar.

          Kommentar


          • #6
            Du kannst versuchen eine Verbindung permanent offen zu halten, ein Skript ohne Ende sozusagen, bei Änderungen werden die Daten gesendet, die restliche Zeit wird das Skript mit sleep() angehalten. Würde ich aber nicht machen und probiert habe ich es auch noch nie, nur aufgeschnappt.

            Zwei Alternativen:
            - Dein User sendet alle paar Sekunden einen Request und bekommt einen Response-Flag zurück. Solltest hier allerdings versuchen den Request auf eine statische Seite zu lenken, die bei Änderung vielleicht überschrieben wird.

            - Du verwendest einen anderen Sperrmechanismus. Wir haben das in unserem Admin-System so gelöst, dass beim Abrufen eine Datensatzes zum Bearbeiten der lastedit-Timestamp mit übergeben wird. Wird das Formular abgeschickt wird vor dem Aktualisieren in der Datenbank geprüft, ob sich der lastedit-Timestamp geändert und dementsprechend eingetragen oder eine Lost-Update-Meldung erzeugt.

            Ich finde das reicht.

            Kommentar


            • #7
              eine permanente verbindung offen zu halten halte ich für sehr serverlastig (korrigiert mich wenn ich falsch liege), die beiden alternativen sind genau das, was ich vermeiden will, skripte die nicht zuhören, sondern nur fragen.

              Kommentar


              • #8
                such mal nach comet.

                Kommentar


                • #9
                  comet bringt ihn aber auch nicht wirklich zum lauschen, dass streamen nimmt keine anfrage entgegen, sondern kann nur anfragen stellen, oder ?

                  im prinzip habe ich von der datenlast die selbe suppe wie bei ajax.

                  Kommentar


                  • #10
                    ohne Java (kein JavaScript) bzw andere ActiveX die ein ServerSocket erlauben kommst du einfach nicht weiter.

                    Kommentar


                    • #11
                      Zitat von notyyy
                      eine permanente verbindung offen zu halten halte ich für sehr serverlastig (korrigiert mich wenn ich falsch liege), die beiden alternativen sind genau das, was ich vermeiden will, skripte die nicht zuhören, sondern nur fragen.
                      na, local hat mein apache schon geraucht als ich mal einen php proxy geschrieben hatte. über CLI brauchte PHP allerdings nur 10-15 MB RAM laut taskmanager...

                      Kommentar


                      • #12
                        ja, jedoch erlaubt mir dies ja nicht mehr als ajax, ich kann doch nichts wirklich entgegen nehmen oder ? ich kann lediglich alle paar sekunden eine datenbankabfrage machen, dies würde ajax mir auch erlauben.

                        Kommentar


                        • #13
                          Hallo zusammen,

                          dieses Thema und ein ähnliches Thema (Chat) wurde bereits ausführlich in einem anderen Thread diskutiert. Technisch funktioniert das - wie Slava bereits sagt - nur mit einem dedizierten Client und einem Prozess auf Serverseite, der soetwas unterstützt. Fertig gibt es hierfür nur Chat-Programme, den Rest muss man sich selbst schreiben.

                          Thread ist geschlossen. Gemecker bitte per PN an mich.

                          Kommentar

                          Lädt...
                          X