跳到主要内容

客户端交互

客户端插件跟控制器插件通信方式,客户可以在插件里面使用TCP/RPC等框架实现,也可以使用珞石自带的json格式的通信协议。
客户端交互

通过客户端插件发送协议,控制器插件收到协议并处理。
这里介绍如何使用自带的通信协议实现通信。

    #include "service/service_api.hpp"

 /**
     * @brief 插件名称,插件的key,回调函数
     * @note 控制器收到json协议就会回调对应的函数
     * 用户收到的协议数据为{"key":"value"}
     */
    xcore_api::service::RegServiceAPI("example","get",
        [](const Json::Value &in){
            LOG_INFO<<"receive:"<<json_serialize(in);
            //simu user process
            std::this_thread::sleep_for(std::chrono::seconds(1));
            Json::Value out;
            out["return"] = "0";
            return out;
        });

用户在客户端插件发送协议,插件名称example,json数据。通过接口就会将对应的json数据发送到插件里面。 插件example收到的json数据:

{"key":" user json"}

返回给客户端插件的的json数据:

{"key":" user return json"}

客户端交互结果

可参考examples/service.hpp