onConnect

Descrição:

callback Worker::$onConnect

Quando o cliente estabelece uma conexão com o Workerman (após a conclusão do handshake TCP em três etapas), essa função de callback é acionada. Cada conexão acionará o callback onConnect apenas uma vez.

Nota: O evento onConnect representa apenas que o cliente completou o handshake TCP com o Workerman. Neste momento, o cliente ainda não enviou nenhum dado. Assim, além de obter o IP remoto usando $connection->getRemoteIp(), não há outros dados ou informações disponíveis para identificar o cliente. Para saber quem é o cliente, é necessário que ele envie dados de autenticação, como um token ou nome de usuário e senha, e faça a autenticação no callback onMessage.

Como o UDP é sem conexão, o callback onConnect não será acionado ao usar UDP, assim como o callback onClose também não será acionado.

Parâmetros da função de callback

$connection

Este é o objeto de conexão, ou seja, uma instância de TcpConnection, utilizado para operar a conexão do cliente, como enviar dados, fechar a conexão, etc.

Exemplo

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 "nova conexão do ip " . $connection->getRemoteIp() . "\n";
};
// Executar o worker
Worker::runAll();

Dica: Além de usar funções anônimas como callbacks, você também pode consultar aqui para utilizar outras formas de escrever callbacks.