99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

網(wǎng)絡(luò)通信之http

2018-09-08 17:50 更新

CrossApp為我們封裝了http的網(wǎng)絡(luò)框架,其文件在CrossApp引擎包的\extensions\network文件下的 HttpClient、HttpRequest 、HttpResponse。

進(jìn)行一次http交互,需要涉及的有三個類:

HttpRequest 用來描述一個請求。

HttpResponse 用來描述對應(yīng)請求的響應(yīng)。

HttpClient是一個單例模式的類,它的職責(zé)就是負(fù)責(zé)將收到的HttpRequest對象push到發(fā)送隊列中,并發(fā)送一個信號量驅(qū)動工作線程工作,工作線程再將收到的數(shù)據(jù)封裝成一個HttpResponse對象push接收隊列,并啟用調(diào)度來派送數(shù)據(jù)。


引用頭文件:

#include "CrossAppExt.h"

請求

/**
編譯到Android平臺之后注意添加聯(lián)網(wǎng)權(quán)限
**/
//創(chuàng)建request對象,這里new出來的對象不能使用autorelease(),原因后述  
CAHttpRequest* request = new CAHttpRequest();
 
//設(shè)置URL
request->setUrl("www.9maio.com");
 
//設(shè)置請求類型kHttpGet、kHttpPost、KHttpPostFile、kHttpPut、kHttpDelete、kHttpUnkown
request->setRequestType(CAHttpRequest::kHttpGet);
 
//這是回調(diào)對象和回調(diào)函數(shù)  
request->setResponseCallback(this, httpresponse_selector(FirstViewController::requestresult));
 
//使用CCHttpClient共享實例來發(fā)送request
CAHttpClient::getInstance()->send(request);
 
//調(diào)用release() 
request->release();

接收

void FirstViewController::requestresult(CAHttpClient* clinet, CAHttpResponse* response)
{
    if (!response->isSucceed())
    {
        return;
    }
    //獲取返回代碼,比如200、404等
    int statusCode = response->getResponseCode();
    if (statusCode == 200)
    {
        std::string responseRes = "";
        std::vector<char> *buffer = response->getResponseData();
        for (unsigned int i = 0; i < buffer->size(); i++)
        {
            responseRes += (*buffer)[i];
        }
        //查找字符“官方特約”
        string::size_type idx = responseRes.find(UTF8("官方特約"));
        if (idx == -1)
        {
            //為找到字符
            CCLog(" Not Found");
            return;
        }
        string temp = responseRes.substr(idx, 30);
        string num = temp.substr(temp.find(UTF8(":")) + 3, temp.find("<") - temp.find(UTF8(":")) - 3);
        CCLog("temp:%s",temp.c_str());
    }
    else
    {
        //打印返回代碼
        CCLog("statusCode:%d", statusCode);
    }
}

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號