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

wap网站制作公司有什么做兼职的网站比较好

wap网站制作公司,有什么做兼职的网站比较好,网站建设制作模板,可以做软件的网站有哪些内容做项目的时候用到了http通信#xff0c;同事用libevent库写的#xff0c;特此记录后端从前端拿到消息后的处理方式 void CHTTPTest::request(const std::any data) {// data 是从前端拿到的数据void *obj std::any_castvoid *(data); // std::any是C17新标准…做项目的时候用到了http通信同事用libevent库写的特此记录后端从前端拿到消息后的处理方式 void CHTTPTest::request(const std::any data) {// data 是从前端拿到的数据void *obj std::any_castvoid *(data); // std::any是C17新标准的struct evhttp_request *req (evhttp_request*)(obj);enum evhttp_cmd_type method evhttp_request_get_command(req); // 获取请求方法if (method EVHTTP_REQ_GET){// GET 请求this-getProcess(req);}else if (method EVHTTP_REQ_POST){// POST 请求this-postProcess(req);}else{// 错误this-return_msg(req, Unsupported request method., ErrorCode::fail);} }GET的请求处理包括前端请求的参数 void CHTTPTest::getProcess(evhttp_request * req) {//获取请求uriconst char* uri evhttp_request_get_uri(req);//解码uristruct evhttp_uri* decoded_uri evhttp_uri_parse(uri);if (!decoded_uri){return_msg(req, Failed to parse URI\n, ErrorCode::fail);return;}// 找到路径QString path evhttp_uri_get_path(decoded_uri);if (path.isEmpty()){path /;}//解析查询字符串struct evkeyvalq params;evhttp_parse_query(uri, params);struct evkeyval* kv;// 创建 QVariantHash 用于存储参数//QVariantHash paramList;// 创建 JSON 对象用于存储查询参数QJsonObject jsonObj;// 遍历查询参数将其添加到 JSON 对象中for (kv params.tqh_first; kv; kv kv-next.tqe_next){jsonObj[kv-key] kv-value;}// 清理查询参数的内存evhttp_clear_headers(params);// 创建 JSON 文档QJsonDocument JsonDoc QJsonDocument(jsonObj);// 检查 JSON 对象是否为空返回相应的消息QString Info JsonDoc.toJson(QJsonDocument::Compact);// 将 JSON 文档转换为字符串并使用紧凑格式if (jsonObj.isEmpty()){return_msg(req, Param Is Empty\n, ErrorCode::fail);return;}else{// 逻辑处理接口this-logicProcess(req, path, jsonObj);} }POST的请求处理包括前端发送的参数处理 void CHTTPTest::postProcess(evhttp_request * req) {const char* uri evhttp_request_get_uri(req);struct evhttp_uri* decoded_uri evhttp_uri_parse(uri);if (!decoded_uri){printf(Failed to parse URI\n);return;}QString path evhttp_uri_get_path(decoded_uri);if (path.isEmpty()){path /;}struct evbuffer* input_buf evhttp_request_get_input_buffer(req);size_t data_len evbuffer_get_length(input_buf);char* data (char*)malloc(data_len 1);if (data){evbuffer_copyout(input_buf, data, data_len);data[data_len] \0;QJsonParseError parseError;QJsonDocument doc QJsonDocument::fromJson(data, parseError);if (parseError.error ! QJsonParseError::NoError){this-return_msg(req, parseError.errorString(), ErrorCode::fail);return;}QJsonObject jsonObj doc.object();// 逻辑处理接口this-logicProcess(req, path, jsonObj);} }内部消息返回前端的处理 void CDigitalModelManage::return_msg(evhttp_request * req, QString msg, int errCode) {struct evbuffer* buf evbuffer_new();if (!buf){return;}QJsonParseError parseError;QJsonDocument jsonDoc QJsonDocument::fromJson(msg.toUtf8(), parseError);QJsonObject jsonObject;QJsonDocument backJsonDoc;if (parseError.error QJsonParseError::NoError){jsonObject jsonDoc.object();jsonObject[code] errCode;}else{jsonObject[code] errCode;jsonObject[message] msg;}backJsonDoc QJsonDocument(jsonObject);QString backInfo backJsonDoc.toJson(QJsonDocument::Compact); evbuffer_add_printf(buf, backInfo.toUtf8().constData());evhttp_add_header(req-output_headers, Content-Type, application/json; charsetutf-8);evhttp_send_reply(req, HTTP_OK, OK, buf);evbuffer_free(buf); }在接口logicProcess中处理就是各个消息的内部逻辑处理了传的第一个参数是http请求的内存块我是这么理解的,第二个参数是和前端约定的URL第三个参数就是前端发送的JSON体。只需要在接口logicProcess中解这个JSON体就可以拿到值了。 这里只是一部分代码比如怎么调用request接口还需要研究研究只是作为记录方便后续学习参考。
http://www.zqtcl.cn/news/821781/

相关文章:

  • 企业只有建立了自己的网站网站建设骗子
  • 凡科 360免费建站培训网页制作机构
  • 做网站用什么后缀好法人变更在哪个网站做公示
  • 公司建一个网站多少钱戴尔公司网站建设
  • 可以做试卷网站数学试卷小学六白沟网站开发
  • 宁波个人网站建设好看的网站在哪里好找
  • 宜春做网站公司wordpress 朋友圈插件
  • 做特价网站ckplayer wordpress
  • 网站运营需要服务器吗在哪个网站做图片视频带音乐
  • 大连网站备案高品质网站建设公司
  • 建站模板哪个好网站添加子域名
  • html5创意网站创建网站公司好
  • php网站开发外文旅游电子商务网站的品牌建设
  • 陕西西安网站建设公司哪家好网页框架是什么
  • 广东网站建设效果安福网站建设
  • 如何将html发布到网站微帮网免费发布信息网
  • 做个网站西安专业网络推广公司
  • 建设网站cms网站开发后台需要自己写吗
  • 天津协会网站建设学计算机的做网站的叫什么工作
  • 商城网站建设缺点淘宝店铺怎么免费推广
  • 利于优化的网站模板360建筑网密码忘了
  • 商务网站建设找哪家网页设计商品页面制作
  • 连云港网站建设方案大型门户网站多少钱
  • win7 iis设置网站首页网站建设攵金手指科杰壹陆
  • 阿里巴巴网站建设的功能定位手机在线制作图片加字
  • 网站联系我们的地图怎么做的电子商务网站建设完整案例教程
  • 北京学习网站建设湖北省建设厅政务公开网站
  • 推广做网站联系方式贵州省领导班子名单一览表
  • 厦门的网站建设公司徐州城乡建设局网站
  • 天津圣辉友联网站建设南昌本地生活网站有哪些