| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| Lies Dir mal unter http://publib16.boulder.ibm.com/pser.../skt_comms.htm den Abschnitt UNIX Domain Properties durch. |
|
| | |
| Gast
Beiträge: n/a
| Also wenn ich das richtig verstanden habe, kann ich mein Vorhaben nur mit Hilfe eines Unix Domain Sockets (AF_UNIX) realisieren. Ist eine interessante Sache, da ich mich damit eh mal beschäftigen wollte, aber leider bringt mir das nicht viel, da mein Script einen AF_INET Socket benötigt. Sonst wird das mit einem connect von "außen" ziemlich schwer. Dann komme ich wohl nicht drum rum, das Design so zu ändern, das ein einziger Prozess für die Daten Ein- und Ausgabe verantwortlich ist. Das verlangsamt die Vorgäng nätürlich. Ich hatte mir nämlich Urspünglich gedacht das ich den Prozess "main" zur Eingabe, den Prozess "parser" zur Verarbeitung und den Prozess "mqueue" zur Ausgabe verwende. So könnten Ankommende Daten angenommen und verarbeitet werden, während die mqueue mit dem Verteilen der Daten beschäftigt ist. |
|
| | |
| Gast
Beiträge: n/a
| das unix socket wird nur für Kommunikation zwischen den beiden Prozessen benötigt. Ansonsten lass die Prozesse sich doch erst nach dem accept gabeln. PHP-Code: |
|
| | |
| Gast
Beiträge: n/a
| Eigentlich wollte ich drei feste Prozesse. Aber das ist natürlich auch eine Möglichkeit... für jede parsende Message wird ein Prozess erstellt der die Message parsed und vorteilt. Da er eine Kopie aller Verbinungen hat, sollte das ja klappen. Oder Spricht da was gegen? |
|
| | |
| Gast
Beiträge: n/a
| Ich auch nicht, aber das ist ja ein Teil dieses Projektes. Ich möchte unteranderem heraus finden wie PHP auf solche schon recht komplexen Anforderungen reagiert. Ich hoffe nur das PHP ein gutes MemoryManagment hat, und ich nicht bei 5 Verbindungen schon 50MB weniger Speicher zur Verfügung habe. |
|
| | |
| Gast
Beiträge: n/a
| Und was da eigentlich alles dupliziert wird. Wenn es tatsächlich "nur" ein fork() ist, hieße das bei php als Apache-Modul z.B. dass der Apache-Prozess dupliziert wird - oder irre ich da? Und wenn dem so ist, was passiert in der Zeit, die der (php-)Kindprozess benötigt, mit den offenen Apache-sockets und sonstigen Deskriptoren? Offen gesagt übersteigt das meine Unix-Kenntnisse und dafür ist die PCNTL-Erweiterung auch vermutlich nicht gedacht. |
|
| | ||
| Gast
Beiträge: n/a
| Dieses Script läuft nicht unter dem Apache sondern stellt selbst die Server-Funktionalität her. Code: php -f cs.php > output.log & Zitat:
| |
|
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php shm_put_var tutorial, fehler beim verteilen eines duplizierten sockets: dieses handle geht jetzt im prozess verloren., php shared memory fork, shared memory php für was, objekte in shared memory php, php kommunikation zwischen zwei prozessen pcntl, ressource shared memory php, php fork memory shared |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.