JavaScript aktualisierungen im Chat

ts7622

Ensign
Registriert
Aug. 2012
Beiträge
237
Hallo

vorab: Ich bin nicht so gut, was den Umgang mit Javascript angeht. Ich habe mir mit iframes und zusammengebastelten Javascript abfragen einen primitiven Chat gebastelt. Es gibt 3 iframes im Chat: Benutzerliste, Eintragung und Chatbox. Am Anfang hatte ich die Chatbox über einen meta tag jede Sekunde und die Benutzerliste alle 3 Sekunden aktualisiert. Das Problem bei der Sache war, das der Server mit den Anfragen nicht klar kommt und ab und zu einen Internal Server Error ausspuckt. Jetzt prüfe ich mit Javascript (jQuery), ob eine bestimmte Datei auf dem Server vorhanden ist und aktulisieren in dem Fall den Frame. Ein Benutzer schreibt eine Nachricht -> Datei wird erstellt -> Der Client erkennt die Datei und aktualisiert den Frame -> Das Skript im Frame löscht die Datei (damit keine Endlosschleife entsteht). Jetzt habe ich die Arbeit also auf den Client gelegt und es läuft alles stabil.

PHP:
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
	<script type="text/javascript">
		$(document).ready(function(){});
		function reload() {
			$.ajax({ 
				type: \'HEAD\',
				url: \'inc/set/refresh\',
				complete: function (e,d) { 
					if ( e.status != 404 ) { 
						location.reload(true)
					}
				} 
			});
		}
		setInterval (reload, 1000);
	</script>

davon habe ich gesamt drei eingebaut. Wenn mehrere PCs im gleichen Netzwerk jetzt auf die Seite zugreifen wollen (wie es in der Schule nunmal ist) bricht das gesamte Netzwerk zusammen. Jetzt habe ich das Problem also bei dem Client. Gibt es eine bessere Methode um zu prüfen, ob ein frame jetzt aktualisiert werden soll? Sorry für diesen Text, wusste nicht wie ich es besser erklären soll :)

ts7622
 
Mit Ajax nachgeladene Inhalte brauchen keine Iframes, das könntest also schon mal vereinfachen.

Bezüglich Aktualisierung des Chats: Es gibt afaik Möglichkeiten mit node.js / socket.io Aktualisierungen zum Client zu pushen, so erhalten diese Updates nur wenn sich was geändert hat.
Guckst Du z.B. hier: http://psitsmike.com/2011/09/node-js-and-socket-io-chat-tutorial/

Und eine wenig aktueller jQuery Version wäre auch nicht falsch, 1.3 ist veraltet ;)
 
Zuletzt bearbeitet:
Vielen Dank für deine Antwort. So in etwa wollte ich es ja auch, wusste nur das Stichwort dafür nicht :) Mein Problem bei node.js ist jedoch, das der Chat nicht auf einem localhost Server, sondern auf einem 08/15 FTP-Server. Ich kanns also keine "richtige" Software auf dem Server ausführen. Oder habe ich das falsch verstanden?

Ja, diese jQuery Version habe ich aus einem alten Tutorial geklaut^^
 
richtig.

// edit
Ich habe mir das durchgelesen und werde einfach nicht schlau daraus. Scheinbar ist das Tutorial für Leute die wissen, was sie tun. Gibt es eine verständlichere Anleitung? Was muss ich tunt um es z.B. unter xampp am laufen zu bekommen?
 
Zuletzt bearbeitet:
Zurück
Oben