onMessage

คำอธิบาย:

callback Connection::$onMessage

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

ตัวอย่าง

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

$worker = new Worker('websocket://0.0.0.0:8484');
// เมื่อเกิดเหตุการณ์การเชื่อมต่อของ client
$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();