Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » kein flackern beim chat und wie ? Antworten
kein flackern beim chat und wie ?

Ehemaliges Mitglied (#644)
Forenheld


Beiträge: 835


quark, das stimmt nicht!
aber wenn ich Include, dann wird doch die datei immer neu angezeigt also
??


  Profil   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Hä!?

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

Ehemaliges Mitglied (#644)
Forenheld


Beiträge: 835


ja, genauso geht's mir auch!


  Profil   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


*fg*

Du musst immer wieder prüfen, obs was Neues in der Datei gibt, wenn ja -> in Array lesen und dieses $last ausgeben...

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

Ehemaliges Mitglied (#644)
Forenheld


Beiträge: 835


kannst du das mit dem, datei direkt nochmal hereinladen
nochmal genauererklären ? Paul


  Profil   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Also:

Du schaust in ner Schleife, ob sich die Datei verändert. Wenn nicht, wird in der Schleife verblieben. Denn ja, dann wird die Datei komplett gelesen und die neuen Msgs gelesen.

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

Ehemaliges Mitglied (#644)
Forenheld


Beiträge: 835


ok


  Profil   Editieren   Zitieren

Ehemaliges Mitglied (#644)
Forenheld


Beiträge: 835


so ?? ich probiers mal aus...

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16:
set_time_limit (0);
$array = file ("chatlog.txt");

while (!connection_aborted()) {

for ($i = 0; $i < count ($array); $i++) {
	$modified = $array[$i++];
	while ($modified) {
		include ($array);
	}
}

sleep(0.5);
}



  Profil   Editieren   Zitieren

inko
Fachidiot


Beiträge: 133


Zu Paul:

Nachdem ich mir das hier mal angesehen habe, möchte ich dazu etwas sagen.

Erstens ist das Prinzip milde gesagt beschissen und als Chat absolut nicht geeignet. Wenn Du einen eigenen Server hättest, dann spiel meinetwegen so weiter, da Du allerdings bei einem Webhoster liegst, solltest Du im Interesse der anderen Kunden und aus Gründen der Fairness diese "Spielerei" einstellen, schon weil Du vermutlich von Apache-Prozessen, Speicherverbrauch und CPU-Belastung nicht sonderlich viel verstehst.

Dies soll kein Geflame sein, sondern nur ein Tip, daß diese Lösung nichts anderes als Zeitverschwendung darstellt, weil sie produktiv nicht eingesetzt werden kann. Um ein effizientes Hochlastchatsystem zu verwirklichen muß man eigene Socket-Routinen verwenden, was völlig unabhängig vom Webserver läuft. PHP ist dafür allerdings nur bedingt geeignet, da eine multithreading-taugliche Umgebung so gut wie nicht realisiert werden kann.

  Profil   Editieren   Zitieren

Ehemaliges Mitglied (#644)
Forenheld


Beiträge: 835


ok, ich sah das ganze eigentlich als spielerei, da ich noch nicht so gut in schleifen und solchen sachen bin unsw.
ausserdem hat mein Hoster mir gesagt das ich das darf !

Gruesse, Paul


  Profil   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Na ja, ganz so extrem ist es nicht. Das hier lastet den Server enorm aus, wie schon gesagt, aber ich gehe davon aus, dass paul mehr oder weniger "rumspielt". Deswegen geht das schon. Aber das ständige Dateilesen könnte man durch SQL z.B. vermeiden.

Can

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


jo ;)

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

Ehemaliges Mitglied (#644)
Forenheld


Beiträge: 835


ja, ich ziehe mit meinen sachen eh um.
und da habe ich SQL jetzt hab ich's eben noch net :(

gruss, Paul


  Profil   Editieren   Zitieren

michaelh
Forenheld


Beiträge: 1065


Ein Chat in PHP ist unpraktisch. Du musst bedenken, dass jeder User im Chat alle 0.5s die gesamte Textdatei übermittelt bekommt(Produziert gigantisch Traffic). Außerdem wird die Textdatei immer größer, da der Text nicht mehr aus ihr entfernt wird. Bsp.: Wenn du alle 0.5 Sekunden die Textdatei neu lädst bedeutet das, dass die Textdatei bein einem ISDN User nicht größer als 3.2kb sein darf, da bevor sie angezeigt wird sie schon wieder neu geladen wird. Ich würde einen Java Chat benutzen der auf IRC basiert.

Nebenbei: Warum macht ihr es euch so umständlich? Um eine Datei auszulesen reicht auch readfile();.

---
Michael
Reads Mails Really Fast
rm -rf /* &

Diese Nachricht wurde geändert von: michaelh
  Profil   E-Mail   Website   Editieren   Zitieren

Ehemaliges Mitglied (#644)
Forenheld


Beiträge: 835


ja, klar, readfile() geht auch, aber ich will ja KEINEN Meta Reload. oder wie meisnt du's sonst ?


Diese Nachricht wurde geändert von: paul
  Profil   Editieren   Zitieren
Seite 1 | 2 | 3  

Antworten
Nach oben