AJAX-Chat

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • AJAX-Chat

    Hallo Forum

    Weiss nicht ob das ins Brainstorming oder AJAX kommt, also einfach verschieben wenns falsch ist.

    Zum eigentlich Problem (es ist mir ein wenig peinlich - sicher für einige eine "Noob"-Frage):

    Man denke an ein Browsergame, im Schnitt sind 3000 Spieler online.
    Ich habe einen AJAX-Chat mal (zum Spass) programmiert, mit MySQL (kein SHM). Er lädt jedoch nur die neuen Zeilen, ist also kein kompletter reload des chats. Der Request wird alle 2 Sekunden aufgeführt.

    Ist so etwas realisierbar und mit wieviel Traffic kann ich z.B. pro Min rechnen? Höre immer wieder das AJAX-Chats so performance-killer wären - was sagen die Profis dazu?

    Danke im Voraus für die Ratschläge!

    MfG
    Onyxagargaryll
    Zuletzt geändert von Onyxagargaryll; 20.05.2008, 21:19.

  • #2
    Es ist realisierbar und es gibt sogar schon browsergames mit AJAX- Chat. Am einfachsten wärs es einfach einmal auszuprobieren... Mit so wenigen Infos kann man nicht sagen wieviel traffic es verursacht.
    Je nachdem wie viele Daten übertragen werden (und wie oft, nicht reloadrate, sondern wieviel etwas geschrieben wird. Es heisst ja, wenn 3000 online sind nicht, dass alle immer zur selben Zeit sehr viel schreiben) kann es ganz verschieden sein. Versuche einfach dich bei der Übertragung möglichst kurz zu halten. Am Besten ist es Tags etc. mit Javascript zu erstellen und nicht zu übertragen, eventuelle Eigenschaften am besten ebenfalls durch einen hash festlegen.

    Kommentar


    • #3
      Hmm ok, probieren geht über studieren

      Naja ich habe einen 2-sekunden-check, ob was neues im Chat steht (anhand einer ID). Ich rufe das PHP-File auf, merke da ist nichts neues, es gibt nichts zurück.
      Wenn es was neues gibt, rufe ich ein weiteres PHP-File auf, welches die Einträge ab einer bestimmten ID ausliest (die ID ist auto_increment).
      Ich glaube so halte ich den Traffic doch schon ziemlich niedrig...

      Ich probiers einfach mal aus Danke für die schnelle Antwort!

      MfG
      Onyx

      Kommentar


      • #4
        Wenn es was neues gibt, rufe ich ein weiteres PHP-File auf, welches die Einträge ab einer bestimmten ID ausliest (die ID ist auto_increment).
        Also zwei Aufrufe? Würde ich schon mal zusammenpacken.

        Ich hatte mal zu Testzwecken einen solchen Chat entwickelt. Nach entsprechenden Wartezeiten habe ich die Frequenz der Requests verringert, so dass ein Chat mit vielen Usern ohne viel Inhalt weniger Requests absetzt.

        Ansonsten, wie schon gesagt, Daten und Anzahl der Requests klein halten.

        Kommentar


        • #5
          Hmm ja, ein Algorythmus könnte dem abhelfen. Jedes mal, wenn nichts geladen wurde, die Reloadzeit ein wenig hochschrauben. Wenn etwas geladen wird, wieder bei z.B. 2 Sek. anfangen...

          lol aufs zusammenlegen bin ich noch gar nicht gekommen

          Ich hab so Drag&Drop-Fenster programmiert, wenn man das Chat-Fenster schliesst, hört automatisch der Request auf... also nochmal was gespart

          Glaube damit wurden alle Massnahmen in etwa aufgezählt... weitere Ideen sind natürlich herzlich willkommen

          Danke für die Ratschläge!

          Schönen Tag noch, MfG
          Onyx
          Zuletzt geändert von Onyxagargaryll; 21.05.2008, 09:16.

          Kommentar

          Lädt...
          X