真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

BrewIWeb的使用-創(chuàng)新互聯(lián)

機(jī)緣巧合,在我認(rèn)識(shí)brew一周后,需要在Brew上使用到Http,用到了IWeb接口,備述如下:

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供潯陽企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站制作、成都做網(wǎng)站、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為潯陽眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

1.調(diào)用IWEB_GetResponse

先看代碼如下:

CALLBACK_Init(&pMe->IWebRespCallback, IWebResponseCallbackNotifyFunc, pMe);
IWEB_GetResponse(pMe->pIWeb,
      (pMe->pIWeb, &pMe->pIWebResp, &pMe->IWebRespCallback,
      url,
      WEBOPT_HANDLERDATA, pMe,
      WEBOPT_STATUSHANDLER, IWebStatusNotify,
      WEBOPT_METHOD, "GET",
      WEBOPT_END));

IWEB_GetResponse接口需要一個(gè)AEECallback,所以需要調(diào)用CALLBACK_Init設(shè)置該callback,這個(gè) CALLBACK_Init其實(shí)就是把后面兩個(gè)參數(shù)填充到callback這個(gè)結(jié)構(gòu)中,它的后兩個(gè)參數(shù),一個(gè)是具體的callback函數(shù),一個(gè)是用于傳 給callback的userdata。

IWEB_GetResponse其實(shí)是個(gè)宏,前面幾個(gè)參數(shù)分別是
IWeb *pIWeb, 這個(gè)是IWeb實(shí)例
IWebResp **ppiwresp,這個(gè)是一個(gè)傳出參數(shù),后面接收數(shù)據(jù)全靠這哥們
AEECallback *pcb,這個(gè)是剛才設(shè)置的回調(diào)

在后面幾個(gè)宏比較有意思,實(shí)際上,他們都是成對(duì)出現(xiàn)的,WEBOPT_XXX一系列的宏都用于指定HTTP的行為,有特點(diǎn)的含義

WEBOPT_HANDLERDATA 指定userdata,也就是指定它后面的參數(shù)是個(gè)userdata,用在后面callback中

WEBOPT_STATUSHANDLER,指定一個(gè)status callback,IWebStatusNotify就是這個(gè)callback

WEBOPT_METHOD,指定http的method

2.設(shè)置WebRespInfo

調(diào)用IWEB_GetResponse后,會(huì)有一個(gè)傳出參數(shù)IWebResp,在Brew認(rèn)為ready的時(shí)候,會(huì)回調(diào)我們?cè)贗WEB_GetResponse中設(shè)置的callback,

在callback中調(diào)用IWEBRESP_GetInfo可以從中取出一個(gè)WebRespInfo,這個(gè)info很重要,因?yàn)樗锩嬗幸粋€(gè)ISource,有了這個(gè)ISource我們就可以異步得到數(shù)據(jù)了

上代碼:

WebRespInfo* pWebRespInfo = IWEBRESP_GetInfo(pMe->pIWebResp);
if(pWebRespInfo)
{
// the body of the response is contained in the ISOURCE within
pMe->pIWebSource = pWebRespInfo->pisMessage;
//AEECallback callback;
CALLBACK_Init(&(pMe->IWebSourceCallback), IWebSourceCallbackNotifyFunc, pMe);
ISource_Readable(pMe->pIWebSource, &(pMe->IWebSourceCallback));
}

可以看到,為了從ISource里取數(shù)據(jù),有設(shè)置一個(gè)callback,IWebSourceCallbackNotifyFunc,在這個(gè)callback中,我們就可以調(diào)用ISource_Read獲取數(shù)據(jù)了

特別需要說明的是,ISource_Read調(diào)用完了以后,需要再次調(diào)用ISource_Readable,設(shè)置callback,否則下次callback就不會(huì)來了

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享標(biāo)題:BrewIWeb的使用-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/doijhp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部