Keine-Panik.org Der Chat
keine-panik.org
 

www.keine-panik.org

Der Problemmodus

Bei Nutzung des normalen Chatstreams baut der Browser eines Chatters eine Verbindung zum Chatserver auf und fordert diesen sinngemäß auf, ihm alle Nachrichten, die für ihn selbst bestimmt sind, sofort zu schicken. Die Verbindung zum Chatserver wird nach dieser Aufforderung dann gar nicht wieder beendet, damit der Chatserver sie seinerseits zur sofortigen Übermittlung neuer Nachrichten an den Chatter nutzen kann. Es besteht also die ganze Zeit, in der der Chatter im Chat eingeloggt ist, eine offene Verbindung zum Chatserver und sobald dieser eine neue Nachricht für den Chatter hat kann er sie ihm über die offene Verbindung sofort senden. Proxyserver hängen sich genau wie einige Virenscanner leider immer zwischen die Verbindung eines Nutzers zu einem Server und leiten dabei alle Inhalte über sich selbst um. Ruft ein Nutzer z.B. die Startseite eines Chats auf, dann stellt der Browser des Nutzers die Anfrage nach der Seite nicht direkt an unseren Chatserver sondern zunächst an seinen Proxy/Virenscanner. Der Proxy/Virenscanner leitet die Anfrage dann an den Server weiter und empfängt auch dessen Antwort. Sobald sie vollständig vorliegt wird sie verarbeitet (z.B. auf Viren geprüft) und dann an den Browser des Nutzers weitergeleitet. Und genau das "sobald sie vollständig vorliegt" verursacht beim Chatstream dann die Probleme - denn da die Verbindung während des kompletten Aufenthalts im Chat offen gehalten wird, liegt diese Seite (also der Chatstream mit den ganzen Nachrichten der Chatter) die komplette Zeit nicht vollständig vor. Der Proxy/Virenscanner wartet also darauf, dass er die Seite fertig geladen hat... aber das passiert einfach nicht, weil der Chatserver immer wieder mal neue Daten sendet. Also wartet der Proxy/Virenscanner weiter... und weiter... und weiter... und der Nutzer sieht die ganze Zeit eine leere Seite. Erst wenn man dann im Chat auf "Verlassen" klickt beendet der Chatserver die Übertragung und genau das ist auch der Grund, wieso dann meist schlagartig die gesamten Chatnachrichten seit dem Login in einem Rutsch plötzlich im Browser angezeigt werden. Als Nutzer fragt man sich natürlich sofort "Geht doch! Aber wieso erst wenn ich mich auslogge??". Und das ist leider genau der Funktionsweise von Proxys/Virenscannern geschuldet. Die normale Technik des Chatstreams (dauerhafte Verbindung über die neue Nachrichten sofort und ohne Zeitverzögerung gesendet werden) ist also einfach nicht möglich, sobald sich ein Proxyserver, ein Virenscanner oder auch ein Browser Add-on in die Verbindung zum Chatserver einklinkt und versucht den Chatstream vollständig runterzuladen bevor er dann an den Nutzer weitergeleitet wird. Die Alternative hierzu ist dann der Problemmodus, der technisch komplett anders funktioniert: Hier wird keine Verbindung zum Chatserver offen gehalten, sondern der Browser fragt alle 4 Sekunden neu beim Chatserver nach, ob es neue Sätze für einen bestimmten Chatter gibt. Der Chatserver muss dann bei jeder Anfrage neu prüfen, ob der Browser berechtigt ist diese Sätze zu empfangen, schickt dann die neuen Sätze an den Browser zurück und beendet die Verbindung wieder. Und da die Verbindung sofort wieder beendet wird merken Proxyserver und Virenscanner, dass sie die Seite vollständig empfangen haben, können sie also sofort verarbeiten und leiten sie danach an den Browser weiter. Dieses Spiel wiederholt sich alle 4 Sekunden und die Vorgehensweise führt dazu, dass es hier - anders als beim normalen Chatstream - auch mit Proxyservern und Virenscannern keine Probleme gibt. Leider ist diese Technik aber deutlich langsamer, denn wenn eine Nachricht genau dann gesendet wird, wenn der Browser gerade nach neuen Nachrichten gefragt hatte, hängt sie erstmal in der Warteschleife und wird erst an den Chatter übermittelt, wenn dessen Browser nach 4 Sekunden erneut nach neuen Nachrichten fragt. Leider ist der Problemmodus aber nicht nur langsamer sondern belastet gleichzeitig auch den Chatserver deutlich stärker, weil hier alle 4 Sekunden eine komplett neue Verbindung auf- und kurz danach wieder abgebaut werden muss. Pro Minute macht das also 15 neue Verbindungen, die ein einzelner Chatter im Problemmodus erzeugt, pro Stunde sind das schon 900 Verbindungen - gegenüber nur einer einzigen Verbindung im normalen Modus. Wann immer der normale Chatstream nicht funktioniert bedeutet das also "irgendetwas hängt sich zwischen Browser und Chatserver" und versucht den Chatstream erst vollständig zu laden, bevor er an den Browser weitergeleitet wird. Und fertig geladen hat der Stream eben erst nachdem im Chat auf "Verlassen" geklickt wird und der Chatserver die Übertragung beendet. Natürlich ist es extrem ärgerlich wenn das passiert, wir selbst haben aber absolut keine Möglichkeit das zu verhindern und technisch bedingt kann in diesen Fällen nur der Problemmodus genutzt werden, weil jede offene Verbindung vom Proxyserver/Virenscanner sofort abgefangen und während des gesamten Aufenthalts im Chat blockiert bzw. zwischengespeichert würde
Wie oben geschildert kann es immer nur an lokalen Ursachen bei den Chattern liegen, dass der normale Modus bei einzelnen Chattern nicht funktioniert. Dass Wartungsarbeiten bei uns etwas hieran ändern ist nicht möglich, zumal die Wartungsarbeiten nur darin bestanden die Server in einen anderen Serverschrank umzuziehen. Softwareseitig gab es nur genau eine Änderung, nämlich die, dass Nutzer die automatisch in den Problemmodus umgeleitet werden dies nun durch eine Meldung angezeigt bekommen. Abgesehen von der Meldung hat sich aber nichts geändert, umgeleitet wurden sie also zuvor sicher auch schon - nur hatten sie kaum eine Möglichkeit das zu bemerken, weil es bisher eben keinerlei Hinweis darauf gab ;) Natürlich kann es im Einzelfall auch sein, dass ein Nutzer mehr oder weniger zeitgleich mit dem Serverumzug z.B. einen neuen Virenscanner installiert hat und die Umleitung in den Problemmodus hier wirklich neu ist. Das wäre aber schon ein sehr großer Zufall und sicherlich dann auch ein absoluter Einzelfall. Generell kann eher davon ausgegangen werden, dass die Chatter es bisher nicht bemerkt haben weil es auch an nichts optisch zu erkennen war.
Text verfasst von Webkicks.
 
 
.:  www.Keine-Panik.org  :.