onMessage

คำอธิบาย:

callback Worker::$onMessage

เมื่อมีการส่งข้อมูลผ่านการเชื่อมต่อจากไคลเอ็นต์ (เมื่อ Workerman ได้รับข้อมูล) จะเรียกใช้ callback function

พารามิเตอร์ของ callback function

$connection

Object ของการเชื่อมต่อ หรือ TcpConnection อินสแตนซ์ ที่ใช้ในการดำเนินการกับการเชื่อมต่อของไคลเอ็นต์ เช่น ส่งข้อมูล หรือ ปิดการเชื่อมต่อ เป็นต้น

$data

ข้อมูลที่ไคลเอ็นต์ส่งมาทางการเชื่อมต่อ หาก Worker กำหนดโปรโตคอลไว้แล้ว ข้อมูลจะเป็นข้อมูลที่ถอดรหัสตามโปรโตคอลโดยใช้ decode() ประเภทข้อมูลขึ้นอยู่กับการถอดรหัสโดยโปรโตคอล เช่น websocket text frame จะเป็นข้อความ ส่วนข้อมูลจากโปรโตคอล HTTP จะเป็นอ็อบเจกต์ Workerman\Protocols\Http\Request

ตัวอย่าง

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

$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onMessage = function(TcpConnection $connection, $data)
{
    var_dump($data);
    $connection->send('receive success');
};
// รัน worker
Worker::runAll();

เพิ่มเติม: นอกจากใช้ฟังก์ชั่นแบบไม่ระบุชื่อเป็น callback ยังสามารถดูตัวอย่างเพิ่มเติมได้ที่นี่