cocos2dx 使用curl
发布时间:2020-12-14 19:26:07 所属栏目:百科 来源:网络整理
导读:#include "HelloWorldScene.h"#include "AppMacros.h"#include "pthread.h" #include "Json.h"#include "curl.h"USING_NS_CC;CCScene* HelloWorld::scene(){ // 'scene' is an autorelease object CCScene *scene = CCScene::create(); // 'layer' is an aut
#include "HelloWorldScene.h" #include "AppMacros.h" #include "pthread.h" #include "Json.h" #include "curl.h" USING_NS_CC; CCScene* HelloWorld::scene() { // 'scene' is an autorelease object CCScene *scene = CCScene::create(); // 'layer' is an autorelease object HelloWorld *layer = HelloWorld::create(); // add layer as a child to scene scene->addChild(layer); // return the scene return scene; } // on "init" you need to initialize your instance //静态函数 size_t HelloWorld::writehtml(uint8_t* ptr,size_t size,size_t number,void *stream) { CCString* a=CCString::createWithFormat("%s",ptr); std::string str1=a->getCString(); const char* _ch = str1.c_str(); CCLog(_ch); Json* myjson = Json_create(_ch); const char* _ch1= Json_getString(myjson,"name",""); CCLog(_ch1); return size*number;//这里一定要返回实际返回的字节数 } bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } #if 1 CURL *curl; CURLcode res; string cc; curl=curl_easy_init(); if(curl) { curl_easy_setopt(curl,CURLOPT_URL,"http://192.168.0.148/phpProject/test1.php?user=wu"); //设置请求的地址 curl_easy_setopt(curl,CURLOPT_POST,true); //设置数据类型 string caozuo=""; curl_easy_setopt(curl,CURLOPT_POSTFIELDS,caozuo.c_str()); //将操作代码,和连接的网站组合,一起发送! curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION,1L); curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,&HelloWorld::writehtml); //数据处理回调函数 curl_easy_setopt(curl,CURLOPT_WRITEDATA,&cc);//缓冲的内存 curl_easy_setopt(curl,CURLOPT_TIMEOUT_MS,5000); //设置连接超时时间 res = curl_easy_perform(curl); if(res==CURLE_OK) { CCLog("ok"); } curl_easy_cleanup(curl); } else { CCLog("curl is null"); } #endif return true; } void HelloWorld::menuCloseCallback(CCObject* pSender) { #if (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT) || (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) CCMessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert"); #else #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) exit(0); #endif #endif } bool HelloWorld::ccTouchBegan( CCTouch* touch,CCEvent* event ) { CCLog("touchBegan1"); return true; } <?php header("Access-Control-Allow-Origin: *"); if(isset($_GET['user'])){ // echo "hello world"; $_arr = array('id' => 1,'name' => 'wuhongxing','age' => 20,'sex' =>0); $_arr = json_encode($_arr); echo $_arr; } else{ echo "请先登录"; } ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |