onMessage

Описание:

callback Connection::$onMessage

Действие и Worker::$onMessage колбэка идентичны, но отличие в том, что он действует только для текущего соединения, то есть можно установить onMessage колбэк для конкретного соединения.

Пример

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)
{
    // Установка onMessage колбэка для соединения
    $connection->onMessage = function(TcpConnection $connection, $data)
    {
        var_dump($data);
        $connection->send('receive success');
    };
};
// Запуск worker
Worker::runAll();

Код выше эквивалентен коду ниже:

use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
// Прямо устанавливаем onMessage колбэк для всех соединений
$worker->onMessage = function(TcpConnection $connection, $data)
{
    var_dump($data);
    $connection->send('receive success');
};
// Запуск worker
Worker::runAll();