onConnect

Descrição:

callback Worker::$onConnect

Quando o cliente estabelece uma conexão com o Workerman (após a conclusão do handshake TCP), é acionada a função de retorno de chamada onConnect. Cada conexão aciona a função de retorno de chamada onConnect apenas uma vez.

Nota: O evento onConnect indica apenas que o cliente completou o handshake TCP com o Workerman. Neste momento, o cliente ainda não enviou nenhum dado. Além de obter o IP do cliente através de $connection->getRemoteIp(), não há outros dados ou informações para identificar o cliente neste evento onConnect. Portanto, não é possível identificar quem é o cliente no evento onConnect. Para saber quem é o cliente, é necessário que o cliente envie dados de autenticação, como um token ou nome de usuário e senha, e fazer a autenticação na função de retorno onMessage.

Como o UDP é sem conexão, quando usado o UDP, o evento onConnect não será acionado e também não acionará o evento onClose.

Parâmetros da função de retorno de chamada

$connection

Objeto de conexão, ou seja, a instância TcpConnection, usado 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 retorno de chamada, também é possível consultar aqui outras formas de escrever retorno de chamada.