onMessage

คำอธิบาย:

callback Connection::$onMessage

มีหน้าที่และWorker::$onMessage callback เหมือนกัน แต่แตกต่างตรงที่มีผลเฉพาะสำหรับการเชื่อมต่อปัจจุบัน ซึ่งหมายความว่าสามารถกำหนด onMessage callback สำหรับการเชื่อมต่อเฉพาะได้

ตัวยอย่าง

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 callback สำหรับการเชื่อมต่อ
    $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 callback สำหรับการเชื่อมต่อทั้งหมดโดยตรง
$worker->onMessage = function(TcpConnection $connection, $data)
{
    var_dump($data);
    $connection->send('receive success');
};
// รัน worker
Worker::runAll();