WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » Chat » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Chat
von Netbuster
okay, danke.
von subjective
Er ist falsch. Schon vom Konzept her. Du macht genau das, was ich zuletzt beschrieben habe. Server-Push mit HTML-Ausgabe.

Du solltest dich erstmal grundsätzlich mit der Thematik beschäftigen. Oder halt einen fertigen Java-/Flash-Chat nehmen.
von Netbuster
...
was ist aber mit meinem Code, gibt es denn dort einen Fehler?
von subjective
PHP ist für HTTP-Chats, so sie denn sein müssen, eine gute Lösung. Man nutzt dann halt ext/ircg und einen Threaded Webserver als Gateway zu einem IRC-Server. Der Java-Server ist eine schlechtere Lösung - der compilierte IRC-Server sollte leistungsstärker sein. Die Kombinationen aus Java-Applet und -Server haben meist den Nachteil das sie über spezielle Ports kommunizieren, welche häufig von Firmen-Firewalls geblockt werden. Alle serverseitigen Speziallösungen haben den Nachteil, das sie auf Standard-Hostern kaum möglich sein werden.

Genauso könnte PHP als Backend für Flash, XMLHTTPRequest oder Java dienen. Somit wäre keine Spezialsoftware auf dem Server notwendig und auch die Last (da kein Server-Push und simples XML statt komplettem HTML) akzeptabel. Alle Client-Techniken haben natürlich das Problem, dass sie vom Client unterstützt werden müssen.

Was man nicht tuen sollte ist ein HTTP-Push mit Apache 1.3. Bei einem HTTP-Push wird die Verbindung nicht beendet, die genutzte Instanz kann also nicht für mehrere Chatter wiederverwendet werden. Da der Apache pro Instanz eine ganze Menge Speicher braucht bekommt man mit der Server-Performance schnell Probleme. Diese Probleme sind völlig unabhängig von der verwendeten Programmiersprache.

von Lewi
languitar schrieb am 03.08.2005 11:45
Äh, ja, aber trotzdem gibt es ja wohl durchaus schönere und hosterfreundlichere Lösungen als PHP-Chats...


Im Frontend kann PHP ja durchaus zur Anwendung kommen, falls es sich zum Beispiel über Socket-Funktionen zu einem Java-Server verbindet.
von languitar
Äh, ja, aber trotzdem gibt es ja wohl durchaus schönere und hosterfreundlichere Lösungen als PHP-Chats...
von subjective
Jede Menge - Chats auf HTML-Basis sind komplex, wenn man sie vernünftig umsetzen will. Auch wird dir kaum ein Hoster erlauben, dauerhaft Scripte laufen zu lassen. Daher brauchst du entweder eine Clientseitige Technik (JS-Callbacks, Flash oder Java) oder einen eigenen Server mit speziellem Webserver.

Such einfach mal im Forum, dazu gab es schon endlose Diskussionen.

*btw* ist PHP nicht die schlechteste Alternative für einen Chat - HTML ist es.
von Netbuster
@languitar:
Es gibt gute Chats, in PHP!! Okay, welche in Java sind besser.. aber ich kann noch kein Java, bin grad mal 12.

@subjective:
Was muss ich denn dann am Quelltext verändern?!
von subjective
Das Senden des Standard-Ausgabepuffers erfolgt normalerweise mit flush(). Die ob_* Funktionen gelten nur für eigene Ausgabepuffer.

flush() funktioniert außerdem nicht, wenn die Transparente Session Id (enable_trans_sid) aktiv ist.
von languitar
Hmpf, was ist so schwer daran zu verstehen, dass PHP einfach die schlechteste Alternative für einen Chat ist und dass sich kein Webhoster darüber freuen wird?!
von Netbuster
Hmm, ich versuche immernoch einen Chat in PHP zu realisieren, hab auch alle Beiträge darüber gelesen, doch mein Code klappt irgendwie nicht, ihr könnt ihn ja bei euch aufm PC mal ausprobieren, der läd die Seite einfach nicht, hier der Code:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17:
<?
session_start();
$_SESSION['netsize']="0";
set_time_limit (0);
ob_implicit_flush();
while (1) {
	$datei=filesize("chattext.txt");
	if($_SESSION['netsize'] < $datei){
	$array = file ("chattext.txt");
	$last = $array[count($array)-1];
	$_SESSION['netsize']=$datei;
	echo $last;
}
ob_implicit_flush();
usleep(ARSC_PARAMETER_REFRESH);
}
?>


ich sehe irgendwie keinen Fehler...

Nach oben