onConnect

Описание:

callback Worker::$onConnect

Это функция обратного вызова, которая срабатывает, когда клиент устанавливает соединение с Workerman (после завершения трехстороннего рукопожатия TCP). Каждое соединение будет вызывать onConnect только один раз.

Примечание: Событие onConnect лишь указывает на то, что клиент завершил трехстороннее рукопожатие TCP с Workerman, и в этот момент клиент еще не отправил никаких данных. На данном этапе нет других данных или информации, позволяющих идентифицировать клиента, кроме как через $connection->getRemoteIp(). Поэтому в событии onConnect нельзя подтвердить, кто именно является клиентом. Для того чтобы узнать, кто клиент, ему нужно отправить данные для аутентификации, например, какой-либо токен или имя пользователя и пароль, чтобы затем провести аутентификацию в onMessage callback.

Поскольку UDP является безсоединительным, при использовании UDP событие onConnect не будет вызываться, и также не будет вызвано событие onClose.

Параметры функции обратного вызова

$connection

Объект соединения, то есть экземпляр TcpConnection, используемый для управления соединением с клиентом, например, отправка данных, закрытие соединения и т.д.

Пример

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 "new connection from ip " . $connection->getRemoteIp() . "\n";
};
// Запуск worker
Worker::runAll();

Подсказка: Помимо использования анонимных функций в качестве обратных вызовов, вы также можете ознакомиться здесь с другими способами написания обратных вызовов.