onMessage

Descrizione:

callback Connection::$onMessage

L'effetto è lo stesso di Worker::$onMessage, con la differenza che è valido solo per la connessione corrente, il che significa che è possibile impostare il callback onMessage per una specifica connessione.

Esempio

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

$worker = new Worker('websocket://0.0.0.0:8484');
// Quando c'è un evento di connessione da parte di un client
$worker->onConnect = function(TcpConnection $connection)
{
    // Imposta il callback onMessage per la connessione
    $connection->onMessage = function(TcpConnection $connection, $data)
    {
        var_dump($data);
        $connection->send('ricezione riuscita');
    };
};
// Esegui il worker
Worker::runAll();

Il codice sopra ha lo stesso effetto di quello sotto

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

$worker = new Worker('websocket://0.0.0.0:8484');
// Imposta direttamente il callback onMessage per tutte le connessioni
$worker->onMessage = function(TcpConnection $connection, $data)
{
    var_dump($data);
    $connection->send('ricezione riuscita');
};
// Esegui il worker
Worker::runAll();