cocos2dx 使用curl

#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 "請先登錄";  
}  
?> 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章