客户端交互
客户端插件跟控制器插件通信方式,客户可以在插件里面使用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