Mailinglisten-Archive |
Till Gerken schrieb:
>
[...]
> Unter http://www.phpwizard.net/phpChat kannst Du Dir phpChat herunterladen.
> Vor allen Dingen von Interesse dürften dabei für Dich chat_login.php3,
> chat_submit.php3 und configure.inc.php3 sein, diese zeigen schonmal die
> Grundlage für Interprozeßkommunikation mittels Semaphoren und Shared Memory.
>
> Die volle Dröhnung gibts in chat_bot.php3, ist aber etwas schwieriger zu
> verstehen, weil dort auch das ganze IRC-Handling mit drin ist.
In der Tat. :)
>
[...]
> Da jeder Prozeß auf dasselbe Segment zugreift, müssen im Segment mehrere
> Flags untergebracht werden - deswegen bietet sich die Speicherung über ein
> Array an.
Stop. Es geht doch nur darum zu triggern, ob neue Nachrichten vorliegen
oder nicht. Ach so, aber natürlich für jeden Client. Also pro Client ein
Array-Feld. Dann muß ich aber bei der Erstellung des
Shared-Memory-Bereichs ein Maximum an Clients festlegen, oder? Sonst
gibt's doch irgendwann einen Speicherüberlauf, wenn immmer mehr Clients
dazukommen. ?)
> > // und irgendwo schaut irgendwer nach Neuigkeiten
> > if(shm_get_var($shm_key, $key_chat_flag == 1) )
> > {
> > // löse MySQL-Abrage-Routine aus
> > }
>
> Vom Gedankengang her richtig, von der Implementation nicht, aber das ist mit
> Manual und Beispiel leicht zu korrigieren. :)
Hoffen wir's :)
[...]
> > Und wofür sind jetzt die Semaphoren?
>
> Die Semaphoren werden aus folgendem Grund benötigt:
>
[...]
Wow, Till! Haben wir dich ja doch nicht umsonst zur Uni geschickt :)))
Nein, wirklich klasse, druckreife Antwort, daß war genau das, was ich
zum Verständnis gebraucht habe. Ab jetzt alles nur noch im Speicher :)
Vielen Dank und gute Nacht an alle
Andre Temme
php::bar PHP Wiki - Listenarchive