当前位置: 首页 > news >正文

深圳政府在线招聘seo搜狗排名点击

深圳政府在线招聘,seo搜狗排名点击,南京谁做免费网站,织梦网站怎么把index.html去掉源码链接:NetworkComputer_CustomProtocol_V3 周不才/cpp_linux study - 码云 - 开源中国 自定义协议(添加/去除报头,序列化/反序列化)Custom.hpp: //自定义协议:包含自定义格式的序列化和反序列化、添加…

源码链接:NetworkComputer_CustomProtocol_V3 · 周不才/cpp_linux study - 码云 - 开源中国

自定义协议(添加/去除报头,序列化/反序列化)Custom.hpp:

//自定义协议:包含自定义格式的序列化和反序列化、添加报头、去除报头操作
#pragma once
#include <iostream>
#include <string>
#include <jsoncpp/json/json.h>
#include <memory>//提供智能指针
#include "Log.hpp"//日志using namespace log_ns;//自定义协议约定:
//添加报头时为json子串加上有效载荷长度len和\r\n
//即 "len"\r\n{json}\r\nstatic const std::string sep="\r\n";//添加报头
std::string Encode(const std::string& jsonstr)
{//参数说明:jsonstr是不带报头json字符串//返回值:返回添加报头后的json字符串size_t len=jsonstr.size();std::string packagejsonstr=std::to_string(len)+sep+jsonstr+sep;//带报头的json字符串return packagejsonstr;
}//去除报头
std::string Decode(std::string& packagejsonstr)
{//参数说明:jsonstr是带报头的json字符串//返回值:返回去除报头后的json字符串size_t pos=packagejsonstr.find(sep);//定位\r\n的位置if(pos==std::string::npos)//定位失败{return std::string();//返回一个空串}std::string lenstr=packagejsonstr.substr(0,pos);//取出"len"int len=std::stoi(lenstr);//json字符串长度int total=lenstr.size()+len+sep.size()*2;//计算完整的报文长度,即"len"\r\n{json}\r\n长度if(packagejsonstr.size()<total)//说明当前接收到的数据没有一个完整的数据{return std::string();}//当前接收到的数据包含完整的数据std::string jsonstr=packagejsonstr.substr(pos+sep.size(),len);//开始提取有效数据(即json字符串)packagejsonstr.erase(0,total);//删除已经提取到的数据return jsonstr;
}   //请求类Request:服务端处理数据之前,数据的格式
class Request
{
private:int _x;int _y;char _operator;
public://初始化Request数据void SetValue(int x,int y,char op){_x=x;_y=y;_operator=op;}//获取数据int GetX(){return _x;}int GetY(){return _y;}char Getoperator(){return _operator;}
public://序列化操作bool Serialize(std::string* out){//参数说明//out是输出型参数,用于带出序列化为json字符串格式的数据//先将Request对象转换为Json::Value类型Json::Value root;root["x"]=_x;root["y"]=_y;root["operator"]=_operator;//再将Json::Value类型转换为json字符串类型*out=root.toStyledString();return true;}//反序列化操作bool Deserialize(const std::string& in){//参数说明//in是json字符串格式的数据//先将json字符串类型转换为Json::Value类型Json::Reader reader;//调用该对象的方法将数据转换为Json::Value类型Json::Value root;//反序列化后存储数据的Json::Valuereader.parse(in,root);//将数据转换为Json::Value类型//再将Json::Value类型转换为Request对象_x=root["x"].asInt();_y=root["y"].asInt();_operator=root["operator"].asInt();return true;}
};//应答类Response:服务端处理数据之后,数据的格式
class Response
{
private:int _result;//运算结果int _code;//运算结果码(0表示正常,1表示除0操作,2表示其他非法操作)std::string _describe;//运算结果描述
public://输出结果void Result(){std::cout<<"result: "<<_result<<", code: "<<_code<<", describe: "<<_describe<<std::endl;}//设置数据void SetResult(int result){_result=result;}void SetCode(int code){_code=code;}void SetDescribe(std::string describe){_describe=describe;}
public://序列化操作bool Serialize(std::string* out){//先将Response对象转换为Json::Value类型Json::Value root;root["result"]=_result;root["code"]=_code;root["describe"]=_describe;//再将Json::Value类型转换为json字符串类型*out=root.toStyledString();return true;}//反序列化操作bool Deserialize(const std::string& in){//先将json字符串类型转换为Json::Value类型Json::Value root;Json::Reader reader;reader.parse(in,root);//再将Json::Value类型转换为Response对象_result=root["result"].asInt();_code=root["code"].asInt();_describe=root["describe"].asString();return true;}
};//工厂模式:调用函数直接返回Request对象和Response对象
class Factory
{
public://构建Request对象static std::shared_ptr<Request> BuildRequest(){return std::make_shared<Request>();}//构建Response对象static std::shared_ptr<Response> BuildResponse(){return std::make_shared<Response>();}
};
http://www.cadmedia.cn/news/16254.html

相关文章:

  • 多用户商城是什么意思长沙网站seo方法
  • 站长之家99下载百度app到桌面
  • 一个公司可以做2个网站么网络营销的方法有哪些
  • 室内设计专用软件郑州厉害的seo顾问
  • 学做网站论坛会员如何做一个自己的网站呢
  • 即将发布的手机杭州网站seo外包
  • 招标网站建设网店运营入门基础知识
  • 北京pk10盘制作网站建设整合网络营销公司
  • 南通模板网建站百度软文推广怎样收费
  • 肇庆网站建设方案360收录提交
  • 时时彩网站建设公司希爱力双效片的作用与功效
  • 网站建设 前后台目录结构seo教育
  • 档案网站建设经验百度站长seo
  • 装修网站建设自助建站免费建站平台
  • 中国三北防护林体系建设网站公司网络推广网站
  • 网站后期维护武汉百度推广外包
  • 为什么不推荐免费建站广州seo网站管理
  • 整站优化seo排名点击关键词优化排名seo
  • 长沙seo外包九江seo公司
  • 女子医院网站开发策略网站怎么优化排名靠前
  • 网站开发与应用案例教程网络营销的工具有哪些
  • 衡阳seoseo每日一帖
  • 我们的网站郑州网站推广效果
  • 阜南县建设局网站百度指数购买
  • 佛山做网站建设公司宁波seo外包服务平台
  • 郴州网站制作泰州seo推广公司
  • 寿光网站建设公司百度信息流推广和搜索推广
  • cms网站制作app开发用什么软件
  • 南昌建设局网站手机系统优化
  • 山东省建设建设监理协会网站安卓手机游戏优化器