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();
Подсказка: Помимо использования анонимных функций в качестве обратных вызовов, вы также можете ознакомиться здесь с другими способами написания обратных вызовов.