Heim >PHP-Framework >Swoole >So verwenden Sie das Swoole-Event
SwooleServer ist ein ereignisgesteuertes Modell und der gesamte Geschäftslogikcode muss in der Ereignisrückruffunktion geschrieben werden. Wenn ein bestimmtes Netzwerkereignis auftritt, ruft die unterste Ebene aktiv die angegebene PHP-Funktion zurück. Insgesamt werden 13 Veranstaltungsarten unterstützt. (Empfohlenes Lernen: Swoole-Video-Tutorial )
Ereignisausführungssequenz
Alle Ereignisrückrufe erfolgen nach $server->start
Das letzte Ereignis, wenn das Programm zum Herunterfahren des Servers beendet wird, ist onShutdown
Nachdem der Server erfolgreich gestartet wurde, werden onStart/onManagerStart/onWorkerStart gleichzeitig in verschiedenen Prozessen ausgeführt
onReceive/onConnect/onClose Ausgelöst im Worker-Prozess
OnWorkerStart/onWorkerStop wird einmal aufgerufen, wenn der Worker-/Task-Prozess startet/endet
Das onTask-Ereignis tritt nur im Task-Prozess auf
Das onFinish-Ereignis Tritt nur im Worker auf. Die Ausführungsreihenfolge der 3 Ereignisse
onStart/onManagerStart/onWorkerStart im Prozess ist ungewiss
Coroutine-Modus
Swoole2/4-Version unterstützt Coroutinen. Nach der Verwendung von Coroutinen werden Ereignisrückruffunktionen gleichzeitig ausgeführt. Coroutine ist eine Thread-Implementierung im Benutzermodus, die keinen zusätzlichen Planungsverbrauch hat und nur Speicher belegt.
Die Verwendung des Coroutine-Modus kann so verstanden werden: „Jede Ereignisrückruffunktion erstellt einen neuen Thread zur Ausführung. Nachdem die Ereignisrückruffunktion ausgeführt wurde, wird der Thread beendet.“
Wenn Sie die Coroutine schließen möchten, können Sie Folgendes festlegen:
$server->set(["enable_coroutine" => false, ]);
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Swoole-Event. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!