onConnect
Описание:
callback Worker::$onConnect
Вызывается обратный вызов при установлении соединения клиента с Workerman (после завершения трехстороннего TCP-рукопожатия). Каждое соединение вызывает обратный вызов onConnect
только один раз.
Примечание: событие onConnect представляет только установление TCP-соединения клиента с Workerman; в это время клиент еще не отправил никаких данных. Поэтому, кроме получения IP-адреса с помощью $connection->getRemoteIp()
, в onConnect нет другой информации о клиенте, и нельзя определить, кто является клиентом. Чтобы узнать, кто является клиентом, необходимо, чтобы клиент отправил аутентификационные данные, такие как токен или имя пользователя и пароль, и выполнить аутентификацию в обратном вызове onMessage.
Поскольку 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 "новое соединение с IP " . $connection->getRemoteIp() . "\n";
};
// Запуск worker
Worker::runAll();
Примечание: помимо использования анонимных функций в качестве обратного вызова, можно также посмотреть здесь другие способы написания обратных вызовов.