TCP连接单次握手2组数据

youshang

连接服务器
客户端第一次数据传输确认设备
服务器回馈确认

客户端第二次数据传输设备定位信息
服务器做插入处理

连接关闭

请问在第二次传输的时候,怎么可以获取到第一次传输的数据呢 ? 或者用什么方式保存第一次传输的数据

阅读 1906
3个回答

youshang

在线等,求助

  • 暂无评论
youshang

有没有人啊- - -疯了

  • 暂无评论
walkor

如果是workerman,可以把数据存储到链接对象里,类似这样

$worker->onMessage = function($con, $data) {
    // 第一次发来数据,用一个临时属性firstTimeData存起来
    if (!isset($con->firstTimeData)) {
        $con->firstTimeData = $data;
    } else {
        // 第二次发来数据,通过临时属性得到第一次发来的数据
        echo $con->firstTimeData;
    }
};

如果是GatewayWorker,可以用session存储上次的数据

class Events {
    public static function onMessage($client_id, $data) {
        if(!isset($_SESSION)) {
            // 第一次发来数据,用session保存
            $_SESSION = $data;
        } else {
            // 第二次发来数据,通过session的到之前发来的数据
            echo $_SESSION;
        }
    }
}