現(xiàn)在我已經(jīng)接收到某個(gè)訂閱發(fā)布的數(shù)據(jù),現(xiàn)在想把這個(gè)數(shù)據(jù)發(fā)送到前端頁面,如何實(shí)現(xiàn),試了好多方法,都沒有實(shí)現(xiàn)
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker();
$worker->onWorkerStart = function(){
//$mqtt = new Workerman\Mqtt\Client('mqtt://1.117.155.19:1883',["username"=>"", "password"=>""]);
$mqtt = new Workerman\Mqtt\Client('mqtt://1.117.155.19:1883');
$mqtt->onConnect = function($mqtt) {
$mqtt->subscribe('demo/2');
};
$mqtt->onMessage = function($topic, $content){
//如何轉(zhuǎn)發(fā)$content數(shù)據(jù)呢
var_dump($topic, $content);
};
$mqtt->connect();
};
Worker::runAll();
<?php
use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$worker = new Worker('websocket://0.0.0.0:6666'); //<====監(jiān)聽websocket
$worker->onWorkerStart = function($worker) {
$mqtt = new Workerman\Mqtt\Client('mqtt://...');
$mqtt->onConnect = function($mqtt) {
$mqtt->subscribe('demo/2');
};
$mqtt->onMessage = function($topic, $content) use ($worker){
//如何轉(zhuǎn)發(fā)$content數(shù)據(jù)呢
var_dump($topic, $content);
foreach ($worker->connections as $connection) { // <======通過websocket發(fā)送數(shù)據(jù)給瀏覽器
$connection->send(json_encode(['topic'=>$topic, 'content'=>$content]));
}
};
$mqtt->connect();
};
Worker::runAll();
前端js
ws = new WebSocket('ws://127.0.0.1:6666'); // 連接服務(wù)端websocket 666端口
ws.onmessage = function(e){ // 當(dāng)websocket發(fā)來數(shù)據(jù)時(shí)
console.log(e.data);
}
就這么簡單....