Cocoa2d-X 向服务器中写入数据

来源:互联网 发布:艾克里里变脸视频软件 编辑:程序博客网 时间:2024/04/29 07:50

1、加入头文件

#include <iostream>

#include "cocos2d.h"

#include "cocos-ext.h"

USING_NS_CC;

USING_NS_CC_EXT;


class resquest:publicCCLayer

{

public:

    static CCScene *scene();

    virtual bool init();

    CREATE_FUNC(resquest);

    void onHttpResquestComplete(CCHttpClient *sender,CCHttpResponse *response);

};

2、在实现文件中

CCScene *resquest:: scene()

{

    CCScene *s=CCScene::create();

    resquest *layer=resquest::create();

    s->addChild(layer);

    return s;

}

bool resquest:: init()

{

    if(!CCLayer::init())

    {

        return false;

    }

    //定义对象

    CCHttpRequest *resquest=newCCHttpRequest();

    //设置属性

    resquest->setUrl("http://baidu.com");

    //设置类型

    resquest->setRequestType(CCHttpRequest::kHttpGet);

    

    resquest->setResponseCallback(this,httpresponse_selector(resquest::onHttpResquestComplete));

    //resquest->setResponseCallback(this, callfuncND_selector(resquest::onHttpResquestComplete));

    //数据

    constchar* postData="visitor=cocos2d&testsuite";

    resquest->setRequestData(postData, strlen(postData));

    resquest->setTag("PUST Test1");

    //传送数据

    CCHttpClient::getInstance()->send(resquest);

    resquest->release();

   // http:// 42.96.151.161:83

    return true;

}

 void resquest::onHttpResquestComplete(CCHttpClient *sender,CCHttpResponse *response)

{

    if(!response)

    {

        return;

    }

    if(0!= strlen(response->getHttpRequest()->getTag()))

    {

        CCLog("%s completed",response->getHttpRequest()->getTag());

    }

    

    int statusCode=response->getResponseCode();

    char statusString[64]={};

    sprintf(statusString ,"HTTP Status Code:%d, tag=%s",statusCode,response->getHttpRequest()->getTag());

    CCLog("respose code:%d",statusCode);

    

    if(!response->isSucceed())

    {

        CCLog("response is faild");

        CCLog("error buffer: %s",response->getErrorBuffer());

        return;

    }

    

    std::vector<char> *buffer=response->getResponseData();

    printf("Http Test,dump data:");

    for(unsignedint i=0;i<buffer->size();i++)

    {

        printf("%c",(*buffer)[i]);

    }

    printf("\n");

    

}


0 0
原创粉丝点击