PHP Textstream

@Matthias, ok, hast mich "fast" überzeugt..... fast darum, weil ein Chat ja aus einer wechselseitigen Komunikation besteht.
In deinem Beispiel ist aber statischer Text.
Der Text müsste also in einer ASCII Datei oder Datenbank zwischengespeichert werden und von dort auch in einer Endlosschleife ausgelesen werden..... sofern dieses denn möglich ist.
Von der Performance reden wir lieber nicht..... aber die war hier ja auch nicht gefragt. :-) ;)

@pornex, Du musst nur lange genug warten..... bei mir hat es unter XAMPP ca. 20 Minuten gedauert bis der erste Text ausgegeben wurde. *sfg*
Funktioniert also auch unter Windows.
Unter Linux habe ich nicht drauf geachtet..... hatte mir zu lange gedauert und darum hatte ich das Fenster minimiert..... und irgendwann war halt Text da. ;)

Nachtrag:
Obwohl es bis zur Ausgabe so lange gedauert hat, tritt unter XAMPP trotzdem max_execution_time ein (eingestellt auf 1200 Sekunden).
Unter Linux scheint dies nicht zu passieren (eingestellt auf 300 Sekunden), denn dort musste ich schon reichlich scrollen. ;)
 
Zuletzt bearbeitet:
Dr Dau hat gesagt.:
@Matthias, ok, hast mich "fast" überzeugt..... fast darum, weil ein Chat ja aus einer wechselseitigen Komunikation besteht.
In deinem Beispiel ist aber statischer Text.
Der Text müsste also in einer ASCII Datei oder Datenbank zwischengespeichert werden und von dort auch in einer Endlosschleife ausgelesen werden..... sofern dieses denn möglich ist.
Ja, das wäre eine Möglichkeit.

Von der Performance reden wir lieber nicht..... aber die war hier ja auch nicht gefragt. :-) ;)
Darum ja auch das „Wie sinnvoll das ganze ist, ist jedoch eine andere Frage.“ :)
 
Folgendes Fazit, sofern ihr zustimmt?

PHP (als Serverseitige Sprache) ist nicht unbedingt geeignet einten guten performanten Chat zu bastelen?
 
Matthias Reitinger hat gesagt.:
Ja, das wäre eine Möglichkeit.
Dann kann pornex jetzt also doch sein PHP Chat schreiben. :-)

Ich habe dein Codeschnippsel nochmal unter Linux gestartet.
Mitlerweile läuft es seit 1,5 Stunden durch..... trotz max_execution_time=300..... ich glaube ich kann jetzt mal abbrechen. ;)
Demnach könntest Du mit dem flush() unter Windows recht haben..... funktionieren tut es zwar, allerdings nur bis max_execution_time eintritt.
 
pornex hat gesagt.:
Folgendes Fazit, sofern ihr zustimmt?

PHP (als Serverseitige Sprache) ist nicht unbedingt geeignet einten guten performanten Chat zu bastelen?
Nicht wirklich.
Ich würde zumindest ein Reload mit einbauen (ob nun per JavaScript oder <meta> spielt wohl nur eine untergeordnete Rolle).
Auch würde ich mit Templates arbeiten..... damit nicht der komplette Quelltext durch PHP generiert werden muss.
In der Form arbeitet der schon erwähnte Chat auch..... nur dass er halt Perl nutzt.
Der geschriebene Text wird mit Perl in ASCII Dateien zwischengespeichert und auch wieder ausgelesen..... für den Rest werden statische HTML Templates genutzt.
 
Gibts auch schon ne gute Variante in PHP?
Ich mein für n freizeitliches Projekt ist das vielleicht ein wenig heftig, aber als Bachelor-Arbeit oder Software Projekt fürs Studium könnte das vielleicht mal ne Maßnahme sein.
Für letzteres wollte ich erst ein CMS (à la Typo3) schreiben, aber da ich mich zu spät beim Prof gemeldet hab wirds nun ein Billardspiel.

So, nun genug zu meinem Studiumsausschweifer, fazit also es ist möglich und wie man ddas genau macht sollte noch mal gründlichst geplant werden =).
Das kleine Skriptchen hab ich mal gespeichert, vielleicht kann man irgendwann mal sowas schönes gebrauchen :D
 
Schonmal dran gedacht, dass man mit php via shm*, msg* und sem* Funktionen auch auf Sys V Systemen witzige Sachen machen kann? Natürlich ist dies nicht der eigentliche Sinn, aber wer sagt denn, dass man Funktionen immer nach dem Sinn fragen muss. Natürlich sollte man root-Zugriff haben und schon kann man das interne Nachrichtensystem von SysV verschandeln, womit ein Chat realisierbar ist und vorallem performant, weil alles im Speicher rumlungert.

Eine Datei, welche die Ausgabe anzeigt, lauscht die ganze Zeit auf einem vom System vergebenen Message-Queue. Eine andere Datei, die die Usereingabe entgegennimmt, schreibt eben in bestimmte MessageQueues. Geht relativ gut. Natürlich sollte man sich noch Semaphores anschauen, weil das dort Probleme geben könnte. Hatte mal in Perl ein Chat realisiert und dieser hatte auch damit gearbeitet. Vorraussetzung ist aber root-Zugriff auf dem Server, weil man die Anzahl der Messages, der Queues und die Größe der Messages erhöhen muss, damit das System nicht irgendwann kollabiert.

P.S.: Das ganze geht aber nicht auf Windows (ist kein Sys V)
 
Zuletzt bearbeitet:
KoMtuR hat gesagt.:
Schonmal dran gedacht, dass man mit php via shm*, msg* und sem* Funktionen auch auf Sys V Systemen witzige Sachen machen kann? Natürlich ist dies nicht der eigentliche Sinn, aber wer sagt denn, dass man Funktionen immer nach dem Sinn fragen muss. Natürlich sollte man root-Zugriff haben und schon kann man das interne Nachrichtensystem von SysV verschandeln, womit ein Chat realisierbar ist und vorallem performant, weil alles im Speicher rumlungert.

Hab ich noch nie was von gehört *lach*. Aber wie erwähnt wär das ja n interesstes arbeits-thema für die uni =).
 
Zurück