前端之家收集整理的这篇文章主要介绍了
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 "请先登录";
}
?>