onClose
Descrizione:
callback Worker::$onClose
La funzione di callback che viene attivata quando la connessione del client si disconnette da Workerman. Indipendentemente da come sia avvenuta la disconnessione, non appena si verifica, verrà attivato onClose. Ogni connessione attiverà onClose solo una volta.
Attenzione: se la connessione si disconnette a causa di situazioni estreme come mancanza di rete o mancanza di corrente, Workerman non sarà in grado di sapere della disconnessione in tempo quanto non può inviare il pacchetto tcp fin a Workerman, e quindi non potrà attivare onClose tempestivamente. Questa situazione deve essere risolta utilizzando un heartbeat a livello applicativo. Per vedere come implementare l'heartbeat nelle connessioni di Workerman, fare riferimento a questo link. Se si sta utilizzando il framework GatewayWorker, è possibile utilizzare direttamente il meccanismo di heartbeat del framework GatewayWorker, vedere qui.
Poiché l'udp è senza connessione, non verrà attivato il callback onConnect quando si utilizza udp, né verrà attivato il callback onClose.
Parametri della funzione di callback
$connection
L'oggetto di connessione, ovvero l'istanza TcpConnection, usato per operare sulla connessione del client, come invio di dati, chiusura della connessione, ecc.
Esempio
use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onClose = function(TcpConnection $connection)
{
echo "connessione chiusa\n";
};
// Esegui il worker
Worker::runAll();
Suggerimento: oltre a utilizzare una funzione anonima come callback, è possibile fare riferimento a questo link per utilizzare altri metodi di callback.