Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Problem mit Chat

Hi !

ICh hab mal ne große Frage. Und zwar hab ich mir nen PHP-Chat programmiert. Der ist ziemlich einfach und normal. Der User schreibt seinen Text. Dieser Text wird in die Datenbank geschrieben und im Ausgabefenster wird dieses Datenbankfeld halt ausgelsen. Simpel! Jedoch ist das irgendwie dumm, da sich das Ausgabefeld ja ständig aktualisieren muss. Und besonders bei langsameren Internetverbindungen macht sich das natürlich bemerkbar. Man sieht halt immer wenn sich das Fenster aktualisiert. Außerdem ist er dadurch natürlich nicht für vieles User geignet.
Und jetzt such ich halt ne Möglichkeit einen Chat mit einer anderen PHP-Technik zu programmieren. Kann mir da irgendjemand einen Tipp geben, was ich da verbessern müsste.

ICh danke schon mal im Vorraus
Gruß

Hier gehts zum Orginal Eintrag "Problem mit Chat" im Forum

Antworten

proberi das mit flash und txt datein.
Im flash ein dynamisches textfeld erstellen, und dann mit GetVarsNum die textdatei auslesen.

steht genau unter: http://www.forwebmaster.de/webdesign/flash/tutorials/extern.html

mfg
Philipp


2.

Also:
- PHP ist grundsätzlich nicht gut für Chat-Systeme geeignet.
- HTTP ist grundsätzlich nicht gut für Chat-Systeme geeignet.
- HTML ist grundsätzlich nicht gut für Chat-Systeme geeignet.

Die Technologieauswahl spricht also von vornherein gegen mehr als "nicht viele" User.


3.

Im ersten Punkt wage ich entschieden zu widersprechen.
Aus welchem Grunde soll PHP eben nicht für Chatsysteme geeignet sein? Man kann wunderbar Sockets öffnen. Eine IRC Extension existiert auch sogar schon. Nur im Zusammenhang mit HTTP würde ich es wirklich nicht dafür einsetzen.


4.

@Olli

Könntest du das vielleicht erläutern. Sockets? iRC Extension?
Wär echt nett.
Danke


5.

Nein. Das zu erläutern würde dich auf eine falsche Fährte locken, da du hiermit ohne weiteres wieder nicht auf einen grünen Zweig kämest. Ich werde dir das aber nicht antun - du kannst das getrost als Jägerlatein zwischen mir und oimel verbuchen, dem ich ab und zu gerne mal widerspreche, da mir sehr an konstruktiven Gesprächen liegt :)


6.

Zitat:
Oliver Albers postete
Im ersten Punkt wage ich entschieden zu widersprechen.
Aus welchem Grunde soll PHP eben nicht für Chatsysteme geeignet sein?
Und ich widerspreche Deinem Widerspruch: Für Chatsysteme brauche ich einen Server, der auf effiziente Weise Daten zwischen verschiedenen Benutzern (sprich: Socket-Verbindungen) hin- und herschaufeln kann. Das kann PHP in der gegenwärtigen Version einfach nicht leisten: Selbst wenn ich den PHP-Server als Daemon über inetd starte, bin ich auf Erweiterungen wie "shared memory" angewiesen, um das hinzubekommen. Mal ehrlich: PHP ist nunmal keine Programmiersprache, die geschaffen wurde, komplette Server zu schreiben. Da helfen auch ein paar rudimentäre Socket-Funktionen nicht.


7.

Du willst dann quasi auch C und C++ die Fähigkeiten absprechen, damit ordentliche Server zu entwickeln?
Auch diese Sprachen bieten nicht mehr IPC Features als PHP dies tut. Es läuft im Grunde immer auf Shared Memory oder Queues hinaus.


8.

Äh ... nein. Lass uns mal zwei Fälle unterscheiden:

1) PHP als Apache-Modul: Da stimmts du mir sicher zu, dass es für einen Chatserver ungeeignet ist - die ursprüngliche Frage bezog sich auch auf diese PHP-Variante.
2) PHP als Stand-Alone: Man kann damit sicherlich auch Server programmieren, auch wenn mir noch nicht ganz klar ist, wie man für ein Chatsystem effizient neue Threads für neue Verbindungen starten will...? Etwa jedesmal einen neuen Prozess über inetd starten? Oder nur einen Prozess, der alle Anfragen der Reihe nach abarbeitet? Was macht man dann auf Mehrprozessormaschinen?

Und was passiert eigentlich, wenn man die so gerühmte Plattformunabhängigkeit von PHP ausnützen will und mit seinem Server von Linux nach Windows umziehen will? Das geht zwar auch mit C nicht so einfach, aber von C verlangt das ja auch keiner.


9.

ich weis nicht wie groß der chat ist, den du entwickeln willst, aber für 10-20 leute sollte meine version genügen.
mfg
Philipp


10.

hier hast du mal ein tutorial zu php und irc:

http://www.tutorials.de/tutorials67350.html

viel spass damit

johnpatcher


11.

Okay, in Sachen Threads gebe ich dir Recht. Das Konzept mangelt PHP immernoch drastisch. Ich würde hier übrigens wirklich einen Prozess basteln, der alle Anfragen der Reihe nach bearbeitet. Das geht unter Windows mit asynchronem I/O zwar noch wesentlich schöner, aber rein im Prinzip ist das machbar.
In Sachen Plattformunabhängigkeit weiss ich jetzt nicht was du wissen willst.
http://de.php.net/shmop ich könnte dem zumindest nicht entnehmen, dass es unter Windows nicht ginge.


12.

ähm apropos server: ich glaube kaum, das jemand, der webspace vermietet verkauft, usw auf windows umsteigt, weil es einfach nicht für den serverbetrieb gemacht ist! und was nutzt mir schon ein chat wenn er auf meiner winkiste läuft schließlich muss er ja auf einen server der immer erreichbar ist! und das sind zu 90% linuxserver!!

johnpatcher


13.

Naja nun, hier gehts ja ums Prinzip und nicht darum, wie es zu 90% gemacht wird ;) ... aber ich habe gerade nachgelesen, anscheinend funktionieren die Shared Memory Funktionen tatsächlich unter Windows *staun* ...

Nochmal wegen "alle Anfragen der Reihe nach bearbeiten": Das kann man vergessen. Abgesehen davon, dass damit ein Multiprozessorserver schonmal von vornherein sinnlos wird, kann es durchaus Anfragen geben, die mal länger dauern (siehe IRC: Channelliste laden). Sollen solange alle darauf warten? Nein, das macht keinen Sinn.

Übrigens: Sobald PHP Multi-Threading unterstützt, werde ich damit gerne einen Chat-Server programmieren :)


Hier gehts zum Orginal Eintrag "Problem mit Chat" im Forum
 
phpforum.de | Impressum