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.