kein flackern beim chat und wie ? |
Ehemaliges Mitglied (#644)
Forenheld Threadstarter
Beiträge: 832 |
quark, das stimmt nicht!
aber wenn ich Include, dann wird doch die datei immer neu angezeigt also
??
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
Hä!?
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
Ehemaliges Mitglied (#644)
Forenheld Threadstarter
Beiträge: 832 |
ja, genauso geht's mir auch!
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
*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 Threadstarter
Beiträge: 832 |
kannst du das mit dem, datei direkt nochmal hereinladen
nochmal genauererklären ? Paul
|
 Profil
Editieren
Zitieren
|
Can
Halbgott
Beiträge: 1324 |
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 Threadstarter
Beiträge: 832 |
ok
|
 Profil
Editieren
Zitieren
|
Ehemaliges Mitglied (#644)
Forenheld Threadstarter
Beiträge: 832 |
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 Threadstarter
Beiträge: 832 |
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: 1324 |
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: 1324 |
jo ;)
---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox
|
 Profil
E-Mail
Editieren
Zitieren
|
Ehemaliges Mitglied (#644)
Forenheld Threadstarter
Beiträge: 832 |
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: 1061 |
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
Editieren
Zitieren
|
Ehemaliges Mitglied (#644)
Forenheld Threadstarter
Beiträge: 832 |
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
|