tinyrpc/test/clienttest/clienttest.cc
2025-02-05 20:50:31 +08:00

66 lines
1.8 KiB
C++

#include "coroutine.hpp"
#include "logger.hpp"
#include "net_address.hpp"
#include "reactor.hpp"
#include "tcp_client.hpp"
#include "tcp_server.hpp"
#include "tinypb.pb.h"
#include "tinypb_channel.hpp"
#include "tinypb_closure.hpp"
#include "tinypb_controller.hpp"
#include <iostream>
using namespace std;
using namespace tinyrpc;
int n = 10;
void test()
{
NetAddress addr("127.0.0.1", 9001);
TinypbChannel channel(addr);
while (n--) {
logger() << "============== test no:" << n << "===============";
queryNameReq req_name;
req_name.set_req_no(20220315);
req_name.set_id(1100110001);
req_name.set_type(1);
queryNameRes res_name;
queryAgeReq req_age;
req_age.set_req_no(00001111);
req_age.set_id(6781);
queryAgeRes res_age;
TinypbClosure cb([]() {
logger() << "==========================";
logger() << "succ call rpc";
logger() << "==========================";
});
QueryService_Stub stub(&channel);
TinypbController rpc_controller;
stub.query_name(&rpc_controller, &req_name, &res_name, &cb);
if (rpc_controller.ErrorCode() != 0) {
logger() << "call rpc method query_name failed, errcode=" << rpc_controller.ErrorCode() << ",error=" << rpc_controller.ErrorText();
}
if (res_name.ret_code() != 0) {
logger() << "query name error, errcode=" << res_name.ret_code() << ", res_info=" << res_name.res_info();
} else {
logger() << "get res_name.age = " << res_name.name();
}
}
}
int main()
{
// TcpServer server;
TcpClient client(NetAddress("127.0.0.1", 9001));
Coroutine cor(test);
client.addCoroutine(cor);
client.start();
return 0;
}