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