今天同事试验oneway的时候,发现client发送的消息数目和server接收的不一致。自己也做了下试验。发现也是不一致。
数据结构定义如下:book.thrift
namespace cpp codelab
struct Book {
1: i32 book_id
2: string name
}
server 端 hello.thrift 定义如下:
include "book.thrift"
namespace cpp codelab_proto
service HelloBook {
oneway void ping(1: book.Book book)
}
server代码大致如下
class HelloBookHandler : virtual public HelloBookIf {
public:
HelloBookHandler() {
// Your initialization goes here
}
void ping(const codelab::Book& book) {
// Your implementation goes here
++count;
printf("book name: %s,%d\n", book.name.c_str(), count);
}
private:
static volatile int count;
};
volatile int HelloBookHandler::count = 0;
int main(int argc, char **argv) {
// create the