Web-Chat ohne ständige Ajax-Requests

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Bin mir nicht sicher ob Facebook das auch so macht, aber mit Websockets kann man das machen, was du willst.

Du könntest die Zeit höher stellen und nicht immer einen kompletten Request schicken, sondern vielleicht nur ein Flag zur Anfrage (?), und je nachdem, ob es etwas gibt, kommt ein kurzer Status zurück (!), der dann ein komplexeres Abfrage-Protokoll zur Folge hat. Möglicherweise könnte der Server beim ausführlichen Request auch mitgeben, wann der nächste Request gestartet werden darf, je nachdem, wie selbiger gerade ausgelastet ist oder wie viel er zusammengesammelt hat. Ferner kann AJAX noch ziemlich optimiert werden, indem JavaScript Teile der Nachricht bereits schreibt, obwohl der Rest noch nicht einmal eingegangen ist. Auf irgend eine Weise muss die Information, ob Nachrichten da sind, ermittelt werden, ohne Verbindung kann das die Anwendung ja nicht wissen.

hm. ok. aber die sache ist ja die, dass selbst wenn ich jeden datenverkehr, der sich vermeiden lässt, vermeide, ich ja nicht darum herumkomme, wenigstens alle 2 sec nachzugucken, ob es neue nachrichten gibt, wenn es sich um einen chat handelt - ist ja sonst für den nutzer doof^^

javascript schreibt teile der nachricht selbst? meinst du das so, dass ich per JSON halt nur sage, von diesem nutzer, nachricht: "nachrichtentext" usw. also sämtliches html rauslassen? weil ... das mache ich auch schon^^

meinst du, du kannst mir mal ein stichwort, oder so geben, wie javascript schreibt, obwohl der request noch nicht vorbei is? kann mir den rest dann auch "ergoogeln"

0
@FrauG

Der Chat könnte mehrere Modi haben abhängig davon, ob der Benutzer gerade untätig ist oder nicht. Wenn er länger nichts eingegeben hat, wird der Request-Invervall erhöht, und Nachrichten gesammelt übertragen, und bei Tätigkeit (durch Abschicken, Eingabe oder sogar Mausbewegung o.ä.) sofort verringert.

Mit "schreiben der Nachricht" meine ich, dass JavaScript Teile der eingehenden Antwort bereits ins HTML schreibt, obwohl das Ende noch gar nicht angekommen ist. Obwohl ich das noch nie selbst in der Praxis eingesetzt habe, wird dieses Konzept des sog. "Streamings" so realisiert, dass man nicht auf den readyState-Code 4 wartet, sondern bereits Daten während readyState == 3 ausliest und verarbeitet. Bestimmt muss man das ein bisschen clever anstellen, aber das spart ordentlich Performance. Gesehen habe ich das in einem Buch "High Performance JavaScript" von Nicholas C. Zakas, welches ein Kapitel über AJAX enthält.

0

IP mit richterlicher Verfügung?

Es sieht so aus... Ich habe einer Klassenkameradin auf Tellonym aus Jux und Dollerei ein paar Nachrichten geschrieben auf die ich nicht gerade stolz bin (nicht strafbar). Ein Klassenkamerad hat dann vier bestimmte Nachrichten (keine von mir) zur Anzeige gebracht weil sie für ihn sehr verletzend sind. So. Jetzt hat er den Rest (also auch meine) auch angezeigt, weil er vermutet dass von den Übeltätern der verletzlichen Nachrichten nich mehr stammt. Jetzt meine Fragen: Dürfen/müssen die mit richterlichem Beschluss alle IPs bei sowas rausgeben oder nur die von den strafbaren Nachrichten? Kommt die Polizei mit sowas überhaupt durch? (Also die Anzeige wurde ja schonmal nicht fallen gelassen, ein paar die auch darin verwickelt sind, haben am Mittwoch ein Gespräch bei der Polizei)

...zur Frage

Was bedeutet "Benachrichtigungen stumm..." bei Instagram Direct?

Also wenn ich bei einer Einzelperson beim Chat auf die EInstellung "Benachrichtigung stumm..." gehe, bedeutet das dann, dass ich überhaupt keine Nachrichten von dieser Person mehr lesen kann, also sie auch nicht im Chat erscheinen?

Oder nur, dass ich auf meinem Sperrbildschirm keine Anzeige mehr bekomme, die Nachricht aber dann im Chat aktualisiert wird...?

Muss dazu noch sagen, dass ich den bisherigen Chatverlauf gelöscht habe und so also noch kein Chat-Fenster offen ist...

...zur Frage

kann man bei FACEBOOK-nachrichten die erste einsehen ohne stundenlang hochzuscrollen?

bei facebook werden ja seit einiger zeit unter nachrichten die chat verläufe gespeichert und ich wollte mal fragen ob es eine möglichkeit gibt nach ganz oben zur ersten nachricht zu kommen ohne alles hochscrollen zu müssen? das dauer nämlich sehr sehr lange! leider weiß ich auch nich das datum davon danach könnte man druchsuchen !

gibt es eine möglickeit?

danke für tipps :D

...zur Frage

Wurde mein Whatsapp oder das meines gegenüber gehackt?

Hi, ich habe neulich normal über WhatsApp geschrieben bis Nachrichten kamen die überhaupt nicht zum Thema gepasst haben. Ich fragte was los sei, jedoch sagte mir mein Gegenüber das er die nachrichtenNachrichten nicht verfasst hatte und sie in seinem Chat nicht angezeigt wurden.. Es kamen immer mehr dazu und teilweise private Nachrichten. Weiß jemand was oder wer das ist? Bzw. Wie man das verhindern kann?

...zur Frage

Ladeanzeige automatisch mit AJAX Request anzeigen?

Hi Leute,

ich habe eine kleine Ladeanzeige auf meiner Website gebastelt. Diese wird automatisch mit jeder AJAX Anfrage gestartet:

$(document).on({

ajaxStart: function() { $('body').addClass("loading");  }, 

ajaxStop: function() { $('body').removeClass("loading"); }

});

Funktioniert alles perfekt, ich habe allerdings nicht bedacht, dass meine Seite ja jede 10 Sekunden die Benachrichtigungen neu lädt und dabei jedes Mal die Ladeanzeige angezeigt wird.Die Anzeige soll aber nur für vom User ausgeführte Requests sein. 

Wie kriege ich das hin, dass der Ladebalken angezeigt wird, wenn der User beispielsweise seine Profildaten ändert (auch über AJAX), aber nicht, wenn die Benachrichtigungen geladen werden?

LG

...zur Frage

Was möchtest Du wissen?