Open LeoYang-Chuese opened 3 years ago
发布订阅的正确示例是怎样的?
我是这样理解的,但貌似不对。关于这块的文档注释基本没有,示例代码对我而言有些晦涩,遇到问题挺抓瞎的。劳烦大大给讲解下。
// 客户端订阅数据。 rpc_client client("127.0.0.1", 9000); // 启用自动重连。 client.enable_auto_reconnect(); // 启用自动心跳。 client.enable_auto_heartbeat(); client.connect(); // 订阅数据。 client.subscribe("key", [](person p) { std::cout << p.name << "\n"; });
// 服务端发布数据。 // 1.先定义person对象。 struct person { int id; std::string name; int age; MSGPACK_DEFINE(id, name, age); }; rpc_server server(9000, std::thread::hardware_concurrency()); // 2.发布数据。 server.publish("key", p); // 同步运行rpc服务,会阻塞当前线程,需异步调用run,或者直接使用asyc_run。 server.run();
见#12
发布订阅的正确示例是怎样的?
我是这样理解的,但貌似不对。关于这块的文档注释基本没有,示例代码对我而言有些晦涩,遇到问题挺抓瞎的。劳烦大大给讲解下。