1 Star 0 Fork 7

zhaoyao / frpc

forked from swair / frpc 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
remote_call_server.cc 1.50 KB
一键复制 编辑 原始数据 按行查看 历史
swair 提交于 2021-01-23 22:42 . u
#include <stdio.h>
#include "Reactor.h"
#include "Common.h"
#include "LogWrite.h"
#include "Server.h"
int square(int line)
{
return line * line;
}
class DataBase
{
public:
void set(const std::string& name, const int& age)
{
name_ = name;
age_ = age;
}
void get(std::string& name, int& age)
{
name = name_;
age = age_;
}
private:
std::string name_;
int age_;
};
void work(Fson& response, Fson& request, void* args)
{
DataBase& dataBase = *(DataBase*)args;
std::string method;
try
{
method = request.getStr("method");
}
catch(int ret)
{
response.setInt("code", 201);
return;
}
response.setInt("code", 200);
if(0 == method.compare("square"))
{
int v = request.getInt("line");
response.setInt("result", v*v);
}
else if(0 == method.compare("set"))
{
dataBase.set(request.getStr("name"), request.getInt("age"));
response.setStr("msg", "ok");
}
else if(0 == method.compare("get"))
{
std::string name;
int age;
dataBase.get(name, age);
response.setStr("name", name);
response.setInt("age", age);
}
}
int main(int argc,char*argv[])
{
DataBase dataBase;
std::string ip = "127.0.0.1";
std::string port = "12345";
Server server;
server.setCallBack(work, (void*)&dataBase);
server.startRun(ip, port);
return 0;
}
C
1
https://gitee.com/zhaoyao219/frpc.git
git@gitee.com:zhaoyao219/frpc.git
zhaoyao219
frpc
frpc
main

搜索帮助