onConnect

Descrizione:

callback Worker::$onConnect

La funzione di callback che viene attivata quando un client stabilisce una connessione con Workerman (dopo il completamento del triplo handshake TCP). Ogni connessione attiverà solo una volta la callback onConnect.

Nota: l'evento onConnect rappresenta solo il completamento del triplo handshake TCP tra il client e Workerman, a questo punto il client non ha ancora inviato alcun dato. In questa fase, oltre a ottenere l'IP dell'altra parte tramite $connection->getRemoteIp(), non ci sono ulteriori dati o informazioni disponibili per identificare il client, quindi non è possibile confermare chi sia l'altra parte nell'evento onConnect. Per sapere chi è l'altra parte, è necessario che il client invii dati di autenticazione, come un token o un nome utente e password, per effettuare l'autenticazione nel callback onMessage.

Poiché UDP è senza connessione, la callback onConnect non verrà attivata quando si utilizza UDP, né verrà attivata la callback onClose.

Parametri della funzione di callback

$connection

Oggetto di connessione, ovvero l'istanza di TcpConnection, utilizzato per operare sulla connessione del client, come inviare dati, chiudere la connessione e altro.

Esempio

use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onConnect = function(TcpConnection $connection)
{
    echo "nuova connessione da ip " . $connection->getRemoteIp() . "\n";
};
// Esegui worker
Worker::runAll();

Suggerimento: oltre a utilizzare una funzione anonima come callback, è possibile fare riferimento a questo link per utilizzare altri scritti di callback.