1 zu 1 Chat | Messenger

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

  • 1 zu 1 Chat | Messenger

    Hallo,
    ich möchte in nächster Zeit nen Messenger basteln. Der Messenger wird in eine Forensoftware intergriert und läuft über das Forum. Mit dem Messenger soll es möglich sein, Online User eine Nachricht zu schicken like MSN Messenger.
    Das ganze soll natürlich in Echtzeit passieren, dafür muss ich mit etwas mit Ajax auseinandersetzen.

    Tja, jetzt könnte ich die Nachrichten einfach in die Datenbank speichern, das Problem ist. Die Datenbank würde sich schnell füllen (außer es wird aufgeräumt mit cronjobs,..etc). Das ist nicht das größste Problem sondern ich will einfach nicht das die Nachrichten gespeichert werden.

    So wie könnte ich sowas am besten realisieren?
    Was soll ich mir genau anschauen?
    Wie wäre das ganze am einfachsten lösbar?

    Würde mich über einige Tips freuen

    lg

  • #2
    sondern ich will einfach nicht das die Nachrichten gespeichert werden.
    Evtl. solltest du dich mal mit dem "Telekomunikations Dienst Gesetz" auseinander setzen.
    (oder wie das auch immer heißen mag)

    Übrigens:
    Ajax ist nicht gut für Chats geeignet!
    Java, Flash und ein Socket Server können das besser.
    (ca. Faktor 100)
    Wir werden alle sterben

    Kommentar


    • #3
      Naja das Problem ist mit Java und Flash kenne ich mich eigentlich garnicht aus.

      Kommentar


      • #4
        Für den z.B. IRC gibts massig Server und Clients
        Wir werden alle sterben

        Kommentar


        • #5
          Ich will aber net nen allgemeinen chat, sondern jeder user für sich..

          Kommentar


          • #6
            Ein Chat, wo jeder User für sich ist?
            Witzig....

            Ausserdem habe ich nicht gesagt: "Nutze IRC !!"
            Sondern: "Nutze die Software des IRC, weil sie ausgereift und leistungsfähig ist."

            Ein popeliger Ajaxchat zwingt den Server ab 30 User in die Knie(Pi mal Daumen)
            Ein eigener (privater) IRC Chatserver verdaut locker 1000 User ohne ins Wackeln zu kommen.
            Wir werden alle sterben

            Kommentar


            • #7
              Benutz XMPP. Da gibts für fast jede Sprache massenhaft libraries für.

              Kommentar


              • #8
                schau mal hie rein.
                http://labs.linux-bg.org/cgi-bin/laf...icles&docid=41
                Damit habe ich gerade ein Projekt in der art umgesetzt.

                php-Entwicklung | ebiz-consult.de
                PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                die PHP Marktplatz-Software | ebiz-trader.de

                Kommentar


                • #9
                  Hey, da mit dem AJAX chat übertreibst du es ziemlich. Ich kenne Chats mit durchschnittlich über den ganze Tag gesehen über 200 Leuten online. Un das geht ganz gut. Das heisst am Tag sind sogar oft 1000 Leute gleichzeitig online und in der Nach weniger.
                  Der Chat wird jede Sekunde aktualisiert, was eigentlich ok ist finde ich, ausserdem ist es ein chat in dem tendentiell viel Text geschrieben wird.

                  Kommentar


                  • #10
                    1000 von Apache-PHP verarbeitete Requests pro Sekunde?
                    Echt?
                    Wer kann sich denn einen solchen MegaCluster ausser Google leisten?
                    Wir werden alle sterben

                    Kommentar


                    • #11
                      Es ist ein gemieteter Server, ich glaube bei net-housting.de, aber ich bin mir da nicht sicher. Ein Stocken im Chat ist mir bis jetzt noch nie aufgefallen und ja der Chat ist Apache-PHP.
                      Es sind aber noch einiges mehr als 1000 Requests pro Sekunde wegen dem Absenden von Nachrichten, Ändern von Einstellungen, betreten von Räumen, etc.

                      Kommentar


                      • #12
                        ich kenne ein anbieter der benutzt einen irc server und hat sein eigenes frontend dazu gebastelt (apache php)

                        vllt ist das bei deinem chat ähnlich?
                        Gruß
                        Uzu

                        private Homepage

                        Kommentar


                        • #13
                          Um an echte Zahlen zu kommen ist dieses Tool recht brauchbar:
                          http://httpd.apache.org/docs/2.0/programs/ab.html

                          Mein (root) Server geht bei ca. 45 Requests pro Sekunde auf 100%. Das ist die Grenze, wenn sonst nix los ist.

                          Randbedingungen:
                          PHP über suPHP
                          Session_start()
                          1 MySQL Select (auf winzige Tabelle)
                          1 kleine csv Datei lesen

                          Klar könnte man ihn etwas tunen: FastCGI über suEXEC.
                          Bringt aber auch nicht viel. Mehr würde mod_php bringen. Aber das ist aus sicherheits Gründen nicht drin.
                          Wir werden alle sterben

                          Kommentar


                          • #14
                            Ich muss zugeben ich weiss wirklich nicht was für Einstellungen der Server hat. Auf die php.ini hab ich gerade noch zugriffe über FTP, aber ich kann keine Anwendungen auf dem Server ausführen (keine Berechtigung). Deswegen kann ich es leider nicht testen.
                            Nach Statistiken sind es jedoch knapp 20Mio. Requests pro Tag.
                            Ob es ein IRC-Server ist weiss ich auch nicht und wir benutzen ein backend in C++, aber die Übertragung ist soviel ich weiss alles PHP-Appache ohne grössere Einstellungsveränderungen (bei den Standardeinstellungen).
                            Ich kann jedoch einmal nachfragen ob jemand, der Zugriff hat dieses Tool einmal kurz ausprobieren könnte.
                            Es gibt übrigens einige online-Spiele, die ebenfalls mit AJAX arbeiten und deswegen ebenfalls eine extrem hohe Anzahl von Requests pro Tag haben.
                            Die Datenmengen sind jedoch durchschnittlich sehr klein (ca ~= 96.4 byte). Z.B. Alle Nachrichten des Spiels werden als Integer übergeben und dann mit js bearbeitet. Die Daten werden mit einem 2-bit-rle komprimiert, was bei Versuchen beim Server kaum einen Unterschied machte, jedoch die Datenmenge um etwa einen Drittel verkleinerte.
                            Der Syntax der Nachrichten ist jeweils (Nachrichten vom Spiel;jeweils 2 byte pro Nachricht) -- (ein byte mit dem Wert 255; da in UTF nicht möglich; Die Nachrichten überspringen jeweils 255 als Wert für das 2. byte und wir haben bis jetzt noch nicht so viele Nachrichten, dass das erste byte 255 wäre) -- (2 bytes mit der Nachrichtenlänge an alle Spieler) -- (Nachricht) -- (byte mit dem Wert 255) -- (2 bytes mit der ID für Gruppe, Raum, Feld oder Person) -- (2 bytes Länge der Nachricht) -- (Nachricht).
                            Die Bytes für Nachrichten sind optional, wenn jedoch eine Private Nachricht oder eine Gruppennachricht, etc. gesendet wird müssen auch die vorangehenden Bytes für alle Personen mitgesendet werden. Wenn keine Nachricht an alle vorhanden, dann wird einfach als Länge 0 mitgesendet.
                            Es wird übrigens für den Chat keine Datenbank wie MySQL benutzt, da die zwar sehr praktisch ist, aber einfach zu viele Funktionen aufweist und für diesen Fall deswegen zu langsam ist. Es wird mit dem Backend in eine Datei geschrieben. Es wird pro Sekunde eine Datei benutzt und es sind jeweils 11 Dateien vorhanden. Die letzten 10 Dateien werden ausgelesen.

                            Kommentar


                            • #15
                              und wir benutzen ein backend in C++,
                              Wenn damit ein in C++ geschriebener ServerProzess gemeint ist, welcher nicht auf HTTP basiert, kann ich die Leistung verstehen. Sonst nicht.
                              Wir werden alle sterben

                              Kommentar

                              Lädt...
                              X