Cocos2d-x   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cocos2d-x网络编程一(get、post请求)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

引用相关文件

#include "network\httprequest.h"
#include "network\httpClient.h"
#include "network\httpResponse.h"
using namespace cocos2d::network;

xxx.h文件:

void complete(httpClient *client,httpResponse *responsE);

xxx.cpp文件:

//一:get请求 //创建request auto request = new httprequest(); request->setUrl("http://httpbin.org/ip"); request->setTag("type get"); request->setrequestType(httprequest::Type::GET); char data[@H_262_45@50] = "data"; request->setrequestData(data,strlen(data));//请求的数据,数据的长度 request->setResponseCallBACk(CC_CALLBACK_2(Testhttp::complete,this)); //创建httpclinet对象 auto client = httpClient::geTinstance(); client->setTimeoutForConnect(@H_262_45@60);//请求连接超时时间 client->setTimeoutForRead(@H_262_45@100);//请求读写超时时间 client->send(request); request->release(); //二:post请求 auto postReq = new httprequest(); postReq->setTag("type post"); postReq->setUrl("http://httpbin.org/post"); postReq->setrequestType(httprequest::Type::POST); //设置请求头信息 std::vector<std::String> header; header.push_BACk("Content-Type:application/json;charset=utf-8"); postReq->setHeaders(header); //设置请求数据 const char* reqData = "controller=cocos2d&action=testhttpPost"; postReq->setrequestData(reqData,strlen(reqData));//请求的数据,数据的长度 postReq->setResponseCallBACk(CC_CALLBACK_2(Testhttp::complete,this)); auto client2 = httpClient::geTinstance(); //client2->send(postReq); //在请求时,会创建一个请求队列,sendImmediate会把改请求放到队列的前面,优先执行(此处先执行post完了后执行get)。 client2->sendImmediate(postReq); postReq->release(); 

void Testhttp::complete(httpClient *client,httpResponse *responsE) { //1.请求标识 log("request tag is:%s",response->gethttprequest()->getTag()); //2.响应码 log("response code is:%d",response->getResponseCode()); //3.判断是否响应成功(很人性化) if(response->isSucceed()){ /*std::vector<char> * data = response->getResponseData(); log("response data is:"); for (int i = 0; i < data->size(); i++) { log("%c",(*data)[i]); }*/ //4.获取返回的数据(字符数组) std::vector<char> * data = response->getResponseData(); //创建一个标准的字符串流 std::Stringstream oss; for (int i = @H_262_45@0; i < data->size(); i++) { oss<<(*data)[i];//字符数组data 输出到 字符串流oss } std::String str = oss.str();//字符串流转化为字符串 log("response data is:%s",str.c_str()); }else{ //获取返回的错误的信息 log("error msg is:%s",response->getErrorBuffer()); } } 

大佬总结

以上是大佬教程为你收集整理的cocos2d-x网络编程一(get、post请求)全部内容,希望文章能够帮你解决cocos2d-x网络编程一(get、post请求)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。