liyingxin
liyingxin
**1.链路追踪** 有的。用法可以参考[tutorial-01-srpc_pb_server.cc](https://github.com/sogou/srpc/blob/master/tutorial/tutorial-01-srpc_pb_server.cc) ```cpp SRPCServer server; RPCSpanDefault span_module; // RPCTYPESRPC作为module的模版,配合server使用 server.add_module(&span_module); ``` tutorial里由于已经有了,你直接跑起来的话,server会得到: ```sh [SPAN_LOG] trace_id: 1317158132757037056 span_id: 1 service: Example method: Echo start: 1627638902336 end_time: 1627638902336 cost: 0 remote_ip: 127.0.0.1...
暂时不支持哦 >_< 这个目前还在SRPC的TODO List中~ srpc目前支持的协议有:**SRPC**、**SRPCHttp**、**ThritfFramed**、**ThritfHttp**、**BRPC**、**tRPC**、**tRPCHttp**。 如果需要与其他语言进行互通,目前建议使用**SRPCHttp**,通过HTTP协议进行互通。README里就是curl和SRPCHttp server使用HTTP协议互通的例子~~~
你好,这三个其实都是srpc中的series使用和上下文共享的经典问题: 1) buf中的数据想要传给pread_task的回调,有很多种方法,比如把buf捕获到lambda中,或者把buf当作当前series的context也可以。捕获的方法如下: ```cpp pread_task = WFTaskFactory::create_pread_task(fd, buf, size, 0, [buf](WFFileIOTask *) { // 这里可以拿到捕获进来的buf指针 }); ``` 设置到series上下文的做法: ```cpp ctx->get_series()->set_context(buf); pread_task = WFTaskFactory::create_pread_task(fd, buf, size, 0, [](WFFileIOTask *task) { buf...
感谢关注~暂时不支持多语言,如果想用其他语言的client访问srpc的C++ server(或者反过来),可以用Http协议访问,srpc这边开SRPCHttp就可以了,具体使用方式如Readme里所示,麻烦看看是否满足使用需求~
@chentiannan 你好,Windows下依赖的workflow需要拉取windows分支~
@chentiannan 感谢认可!(开心到飞起~~~ 你这个issue也对我很有启发,我会把srpc在windows下的编译以及常见问题整理到一个FAQs 欢迎继续使用,有其他问题随时给我们反馈哦
你好,单独讲一下``find_package(...)``的问题: - 加CONFIG是config模式: 通过后缀为``Config.cmake``或者``package-name.config.cmake``的文件进行依赖的; - 不加是module模式:找lib; 如果是WIN32,是要走的Config模式才能找到Protobuf~所以: 1. 如果你要改了才能编译,说明pb的安装可能和预期不太一样; 2. 而pb对zlib的依赖也是需要你手动安装才行,所以不能说明机器本身已经安装好了zlib。
@chentiannan 那这样吧你先确认下你拉srpc代码下来是包括依赖库的么?即是否是recursive的?
@chentiannan 你好~ 1. 目前srpc支持brpc协议; 2. 如果你想要自定义二进制协议,可以直接使用workflow; 3. 如果你想要自定义协议去发送IDL结构体,可以进行二次开发,可以参考src/message/文件夹下面添加即可,非常方便的~
@ruoleng 你好,这个issue上面有具体的编译步骤https://github.com/sogou/srpc/issues/62#issuecomment-829840853 ,麻烦参考下~