連接服務(wù)器
客戶端第一次數(shù)據(jù)傳輸確認(rèn)設(shè)備
服務(wù)器回饋確認(rèn)
客戶端第二次數(shù)據(jù)傳輸設(shè)備定位信息
服務(wù)器做插入處理
連接關(guān)閉
請(qǐng)問在第二次傳輸?shù)臅r(shí)候,怎么可以獲取到第一次傳輸?shù)臄?shù)據(jù)呢 ? 或者用什么方式保存第一次傳輸?shù)臄?shù)據(jù)
如果是workerman,可以把數(shù)據(jù)存儲(chǔ)到鏈接對(duì)象里,類似這樣
$worker->onMessage = function($con, $data) {
// 第一次發(fā)來數(shù)據(jù),用一個(gè)臨時(shí)屬性firstTimeData存起來
if (!isset($con->firstTimeData)) {
$con->firstTimeData = $data;
} else {
// 第二次發(fā)來數(shù)據(jù),通過臨時(shí)屬性得到第一次發(fā)來的數(shù)據(jù)
echo $con->firstTimeData;
}
};
如果是GatewayWorker,可以用session存儲(chǔ)上次的數(shù)據(jù)
class Events {
public static function onMessage($client_id, $data) {
if(!isset($_SESSION)) {
// 第一次發(fā)來數(shù)據(jù),用session保存
$_SESSION = $data;
} else {
// 第二次發(fā)來數(shù)據(jù),通過session的到之前發(fā)來的數(shù)據(jù)
echo $_SESSION;
}
}
}