// Poll and notify main thread if responses exists in queue KDvoid CCHttpClient::dispatchResponseCallbacks ( KDfloat fDelta ) { CCHttpResponse* pResponse = KD_NULL; kdThreadMutexLock ( l_pResponseQueueMutex ); if ( l_pResponseQueue->count ( ) ) { pResponse = dynamic_cast<CCHttpResponse*> ( l_pResponseQueue->objectAtIndex ( 0 ) ); l_pResponseQueue->removeObjectAtIndex ( 0 ); } kdThreadMutexUnlock ( l_pResponseQueueMutex ); if ( pResponse ) { --l_uAsyncRequestCount; CCHttpRequest* pRequest = pResponse->getHttpRequest ( ); CCObject* pTarget = pRequest->getTarget ( ); SEL_CallFuncND pSelector = pRequest->getSelector ( ); if ( pTarget && pSelector ) { ( pTarget->*pSelector ) ( (CCNode*) this, pResponse ); } pResponse->release ( ); } if ( 0 == l_uAsyncRequestCount ) { CCDirector::sharedDirector ( )->getScheduler ( )->pauseTarget ( this ); } }
void LogInScene::LogInHTTP(){ closeLogInTable(); if (UserNameStr != "" && PassWordStr !="" && ((UserNameStr != MainUser->UserNameStr && MainUser->hasLogIn) || !MainUser->hasLogIn)) { box = AsMessageBox::createMessageBox("通信中,请稍候", 1, 0); box->setPosition(CCPointZero); addChild(box,100); CCHttpRequest* request = new CCHttpRequest(); string UrlData = "http://115.29.168.228/users/signin?user[name]=" + UserNameStr + "&user[password]=" + PassWordStr; request->setUrl(UrlData.c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(LogInScene::LogInRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); } else if(UserNameStr == ""){ box = AsMessageBox::createMessageBox("请输入用户名", 2, 1); box->setPosition(CCPointZero); addChild(box,100); } else if(UserNameStr == MainUser->UserNameStr){ box = AsMessageBox::createMessageBox("该账户已经登录", 2, 1); box->setPosition(CCPointZero); addChild(box,100); } else if(PassWordStr == ""){ box = AsMessageBox::createMessageBox("请输入密码", 2, 1); box->setPosition(CCPointZero); addChild(box,100); } }
CCHttpRequest* CCNetwork::httpRequestLua(LUA_FUNCTION listener, const char* url, CCHttpRequestMethod method) { CCHttpRequest* request = CCHttpRequest::createWithUrlLua(listener, url, method); request->start(); return request; }
CCHttpRequest* CHttpServer::getGetRequestByUrl(const char* pUrl) { CCHttpRequest* pRequest = new CCHttpRequest(); pRequest->setUrl(pUrl); pRequest->setRequestType(CCHttpRequest::kHttpGet); addDefaultHeaders(pRequest); return pRequest; }
CCHttpRequest* CHttpServer::getPostRequestByUrlAndData(const char* pUrl, const char* pData) { CCHttpRequest* pRequest = new CCHttpRequest(); pRequest->setUrl(pUrl); pRequest->setRequestType(CCHttpRequest::kHttpPost); pRequest->setRequestData(pData ,strlen(pData)); addDefaultHeaders(pRequest); return pRequest; }
void open(CCHttpRequest::HttpRequestType type, const char* url){ CC_SAFE_RELEASE_NULL(m_request); m_request = new CCHttpRequest(); m_request->setUrl(url); m_request->setRequestType(type); m_request->setResponseCallback(this, callfuncND_selector(HttpRequest::responseCallback)); };
void ASUser::getHeroInformationHTTP(){ CCHttpRequest* request = new CCHttpRequest(); string UrlData = "http://115.29.168.228/roles?token=" + UserTokenStr; request->setUrl(UrlData.c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(ASUser::getHeroInformationRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); }
CCHttpRequest* CCHttpRequest::createWithUrlLua(int nHandler, const char* url, bool isGet) { CCHttpRequest* request = new CCHttpRequest(NULL, url, isGet?CCHttpRequestMethodGET:CCHttpRequestMethodPOST, true); request->m_luaHandler = nHandler; request->initHttpRequest(); request->autorelease(); request->retain(); return request; }
void CLoginScene::testUrl() { CSceneManager::sharedSceneManager()->openPopupBox(GETBOX(CLoadingBox), (void*)("")); OppoServer* pServer = OppoServer::shareOppoServer(); CCHttpRequest* request = CHttpServer::getGetRequestByUrl("http://www.bsdfsaidu.com"); request->setResponseCallback(this, callfuncND_selector(CLoginScene::urlCallback)); pServer->send(request); request->release(); }
void OnlineController::_discoverServer(float) { CCLog("== discovering server"); CCHttpRequest* request = new CCHttpRequest; request->setUrl("https://dl.dropboxusercontent.com/u/19446960/discover/discover.html"); request->setRequestData("", 1); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, httpresponse_selector(OnlineController::_onServerDiscovered)); CCHttpClient::getInstance()->send(request); }
void RankScene::getServerTime(){ CCHttpRequest* request = new CCHttpRequest(); string UrlData = "http://115.29.168.228/time"; request->setUrl(UrlData.c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(RankScene::getServerTimeRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); }
NS_CC_EXT_BEGIN CCHttpRequest* CCNetwork::httpRequest(CCHttpRequestDelegate* delegate, const char* url, CCHttpRequestMethod method) { CCHttpRequest* request = CCHttpRequest::createWithUrl(delegate, url, method); request->start(); return request; }
void RankScene::getRankHTTP(){ CCHttpRequest* request = new CCHttpRequest(); string UrlData = "http://115.29.168.228/winning_boards/" + int2string(tibaoType) + "/whereami?token=" + MainUser->UserTokenStr; request->setUrl(UrlData.c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(RankScene::getRankRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); }
bool ShopItemInfoFromServer::downloadConfigFileListOneTime(const char* url,const char* postMessage) { if (url == NULL) { return false; } std::string strHtml = ""; std::string strRetData = ""; CURLcode curlRes; CURL* easyCurl = curl_easy_init(); if (easyCurl == NULL) { return false; } ShopItemInfoFromServer::sharedInstance()->m_strFileList = ""; //curl_easy_setopt(easyCurl, CURLOPT_WRITEFUNCTION, &ShopItemInfoFromServer::configFileDownLoadCallback); //curl_easy_setopt(easyCurl, CURLOPT_POSTFIELDS, postMessage); //curl_easy_setopt(easyCurl, CURLOPT_WRITEDATA, &strHtml); //curl_easy_setopt(easyCurl, CURLOPT_URL,url); //curl_easy_setopt(easyCurl, CURLOPT_POST, 1); //curl_easy_setopt(easyCurl, CURLOPT_FOLLOWLOCATION, true); //curlRes = curl_easy_perform(easyCurl); //curl_easy_cleanup(easyCurl); curl_easy_setopt(easyCurl,CURLOPT_URL,url); // curl_easy_setopt(easyCurl, CURLOPT_CONNECTTIMEOUT,2.5); curl_easy_setopt(easyCurl,CURLOPT_WRITEFUNCTION,&ShopItemInfoFromServer::configFileDownLoadCallback); curlRes=curl_easy_perform(easyCurl); if(curlRes!=CURLE_OK) { char temp[100]; snprintf(temp,100, "failed to get product list err code %i",curlRes); //AppDelegate::GetShareAppDelegate()->ShowToast(temp); CCLOG("%s", temp); #if CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID //send failed log to c01 { CCHttpRequest* request = new CCHttpRequest(); snprintf( temp,100, "http://report.st.61.com/misc.js?gameid=82&step=3&flag=%d",curlRes); request->setUrl(temp); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback((CCObject*)this, callfuncND_selector(ShopItemInfoFromServer::onHttpRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); } #endif } curl_easy_cleanup(easyCurl); bool result = (curlRes == CURLE_OK); return result; }
void ClientConnect::RegisterRequest(const char* account, const char* pwd) { CCHttpRequest* request = new CCHttpRequest(); string path = m_ip; path.append("game_web/regist?account=" + string(account) + "&password=" + string(pwd)); request->setUrl(path.c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(ClientConnect::onHttpRequestRegisterCallBack)); CCHttpClient::getInstance()->send(request); request->release(); }
void CDownloadPackage::requestVersionInfo() { std::string sUpdateServer = CCUserDefault::sharedUserDefault()->getStringForKey(SERVER_FOR_UPDATE); CCString* pUrl = CCString::createWithFormat("%s%s?r=%ld", sUpdateServer.c_str(), PACKAGE_VERSION_FILE, getCurrentTime()); CCHttpRequest* request = new CCHttpRequest(); request->setUrl(pUrl->getCString()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, httpresponse_selector(CDownloadPackage::requestVersionInfoCallBack)); CCHttpClient::getInstance()->send(request); request->release(); }
void send(const char* buffer = NULL){ if(m_request != NULL){ if(NULL != buffer){ m_request->setRequestData(buffer, sizeof buffer); } m_request->setHeaders(m_headers); CCHttpClient::getInstance()->send(m_request); CC_SAFE_RELEASE_NULL(m_request); m_headers.clear(); } };
void MyHttpRequest::doGet() { m_isCompleted=false; m_responseData=""; CCHttpRequest* request = new CCHttpRequest(); request->setUrl("baidu.com"); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(MyHttpRequest::onHttpRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); }
void LogInScene::getUserHistoryGame(int _index){ if(_index<=14){ CCHttpRequest* request = new CCHttpRequest(); string UrlData = "http://115.29.168.228/winning_boards/" + int2string(_index) + "/whereami?token=" + MainUser->UserTokenStr; request->setUrl(UrlData.c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(LogInScene::getUserHistoryGameRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); } }
void OnlineController::_loadLeaderboard(float) { CCLog("== loading leaderboard"); CCHttpRequest* request = new CCHttpRequest; std::string adr = m_server + "/get"; request->setUrl(adr.c_str()); request->setRequestData("", 1); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, httpresponse_selector(OnlineController::_onLeaderboardLoaded)); CCHttpClient::getInstance()->send(request); }
void ClientConnect::RequestServerList()//请求服务器列表 { CCHttpRequest* request = new CCHttpRequest(); lua_State* ls = CCLuaEngine::defaultEngine()->getLuaStack()->getLuaState(); string path = m_ip; path.append("game_web/serverList?"); request->setUrl(path.c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(ClientConnect::onHttpRequestServerListCallback)); CCHttpClient::getInstance()->send(request); request->release(); }
void GameState::sendGetHttp(CCObject* sender) { CCHttpRequest* request = new CCHttpRequest(); request->setUrl("http://deploydjango1.herokuapp.com/?text=32"); request->setRequestType(CCHttpRequest::kHttpGet); CCHttpClient::getInstance()->send(request); //보내고 나서 request->setResponseCallback(this,callfuncND_selector(GameState::onHttpRequestCompleted));//받습니다 request->release(); }
void RankScene::HeroLevelUpHTTP(int _HeroIndex,int _HeroLevel){ MessageBox = AsMessageBox::createMessageBox("通信中,请稍候", 1, 0); MessageBox->setPosition(CCPointZero); addChild(MessageBox,1000); CCHttpRequest* request = new CCHttpRequest(); string UrlData = "http://115.29.168.228/roles/" + int2string(_HeroIndex) + "?role[level]=" + int2string(_HeroLevel) + "&token=" + MainUser->UserTokenStr; request->setUrl(UrlData.c_str()); request->setRequestType(CCHttpRequest::kHttpPut); request->setResponseCallback(this, callfuncND_selector(RankScene::HeroLevelUpRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); }
void HttpCenter::onHttpRequestCompleted(CCHttpClient* pClient, CCHttpResponse* pResponse) { if (!pResponse) { return; } if (pResponse->isSucceed()) { CCHttpRequest* request = pResponse->getHttpRequest(); std::vector<char> *vHeader = pResponse->getResponseHeader(); std::vector<char> *vData = pResponse->getResponseData(); std::string strResponseHeader(&vHeader->front(), vHeader->size()); CCLOG("%s", strResponseHeader.c_str()); CCLOG("Http response data len:%lu", vData->size()); CCLOG("%s", &vData->front()); MemBufferObject* pMemObj = NULL; // 这里要处理下是否要对返回的数据进行解码或者其他操作 if (strResponseHeader.find("Content-Encoding: gzip") != std::string::npos) { // 解码 unsigned char *deflated = NULL; int deflatedLen = ZipUtils::ccInflateMemory((unsigned char *)&vData->front(), vData->size(), &deflated ); if (deflatedLen > 0) { // 解析成功 pMemObj = MemBufferObject::create((const char*)deflated, deflatedLen); } else { // 解析失败就直接放数据进去 pMemObj = MemBufferObject::create(&vData->front(), vData->size()); } } else { pMemObj = MemBufferObject::create(&vData->front(), vData->size()); } if (strlen(request->getTag()) > 0) { // 向外抛出对应的数据 CCNotificationCenter::sharedNotificationCenter()->postNotification(request->getTag(), pMemObj); } } }
void CommandManager::doSend(Command* command) { m_currentCommand = command; CCHttpRequest* request = new CCHttpRequest(); request->setRequestType(CCHttpRequest::kHttpPost); request->setUrl(Command::URL.c_str()); const vector<char>& data = command->getData(); request->setRequestData(&data[0], data.size()); request->setResponseCallback(this, httpresponse_selector(CommandManager::onResponse)); CCHttpClient::getInstance()->send(request); }
NS_CC_EXT_BEGIN CCHttpRequest* CCHttpRequest::createWithUrl(CCHttpRequestDelegate* delegate, const char* url, CCHttpRequestMethod method, bool isAutoReleaseOnFinish) { CCHttpRequest* request = new CCHttpRequest(delegate, url, method, isAutoReleaseOnFinish); request->initHttpRequest(); request->autorelease(); if (isAutoReleaseOnFinish) { request->retain(); } return request; }
void QimiAlipayView::rechargeOnClick(cocos2d::CCNode* pSender, cocos2d::extension::CCControlEvent* pCCControlEvent) { m_money = atoi(m_pEditName->getText()); CCHttpRequest* request = new CCHttpRequest(); request->setUrl("http://www.qimi.com/platform/addOrder.php"); request->setRequestType(CCHttpRequest::kHttpPost); request->setResponseCallback(this, httpresponse_selector(QimiAlipayView::onLoadOrderSucssful)); char sign[255]; sprintf(sign, "%s%d%s", m_uId.c_str(), m_sId, m_key.c_str()); QimiMD5 md5; md5.update(sign); CCLog("md5str==%s",sign); std::string md5tolower = md5.toString(); CCString* postDataStr = CCString::createWithFormat("uId=%s&sId=%d&sign=%s&money=%d&orderType=alipay&type=0", m_uId.c_str(), m_sId, md5tolower.c_str(), m_money); CCLog("addOrder string ===%s", postDataStr->getCString()); const char* postData =postDataStr->getCString(); request->setRequestData(postData, strlen(postData)); request->setTag("POST test1"); CCHttpClient::getInstance()->send(request); request->release(); RequestLoadingView* mask = RequestLoadingView::create(); mask->setTag(100000); this->addChild(mask); }
NewsScene::NewsScene() { CCHttpRequest *requestor = CCHttpRequest::sharedHttpRequest(); char tmpbuf[128]; time_t ltime; struct tm *today; time( <ime ); today = localtime( <ime ); /* Use strftime to build a customized time string. */ strftime( tmpbuf, 128,"Today is %A, day %d of %B in the year %Y.\n", today ); std::stringstream ss; std::stringstream ss2; ss << today->tm_mday<<"-" << today->tm_mon<<"-" << today->tm_year+1900<<"&hora="<<today->tm_hour<<"-"<<today->tm_min; ss2 << today->tm_mday<<"-" << today->tm_mon+1<<"-" << today->tm_year+1900<<"&hora="<<today->tm_hour<<"-"<<today->tm_min; // ss << "28"<<"-" << "05"<<"-" << "2014"; // Create a new dictionary // Add the data you would like to store string url; FileFunctions * tmpFile = new FileFunctions; tmpFile->writeDay(ss2.str()); url = url +"http://clientes.farofastudios.com.br/Einstein/admin/v2/json.php?data=" + ss.str(); string postData = "key=val"; requestor->addGetTask(url, this, callfuncND_selector(NewsScene::onHttpRequestCompleted)); createListView(); }
bool RankingScene::init() { CCSprite *background = CCSprite::create("BackGround2.png"); background->setPosition(ccp(w/2, h/2)); this->addChild(background); //-------------- menu getperesent --------------- CCMenuItemImage *bt_send_email = CCMenuItemImage::create("Present.png","Present.png", this, menu_selector(RankingScene::clickBtSendEmail)); bt_send_email->setPosition(ccp(w/4, h/8.2 + 20)); CCHttpRequest* request = new CCHttpRequest(); string ipAddr = GameManager::sharedGameManager()->getIpAddr(); request->setUrl((ipAddr+":3000/users.json").c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setResponseCallback(this, callfuncND_selector(RankingScene::onHttpRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); //create startMenuItem CCMenuItemImage *playItem = CCMenuItemImage::create("StartButton.png", "StartButton.png", this, menu_selector(RankingScene::play)); playItem->setPosition(ccp(w/2, h/8)); playItem->setScale(0.7f); //create bgmItem CCMenuItemImage *bgmItem = CCMenuItemImage::create("BgmOn.png", "BgmOn.png", this, menu_selector(RankingScene::bgm)); bgmItem->setPosition(ccp(w*4/5, h/8)); CCMenu* pMenu = CCMenu::create(playItem, bgmItem, bt_send_email, NULL); pMenu->setPosition(ccp(0,0)); this->addChild(pMenu); bgm_off = CCSprite::create("BgmOff.png"); bgm_off->setPosition(bgmItem->getPosition()); bgm_off->setVisible(GameManager::sharedGameManager()->getBgm()); if (GameManager::sharedGameManager()->getBgm()) { SimpleAudioEngine::sharedEngine()->setEffectsVolume(0.0f); } else { SimpleAudioEngine::sharedEngine()->setEffectsVolume(1.0f); } this->addChild(bgm_off); return true; }
void LoginLayer::touchUpInside(CCObject* pSender, CCControlEvent event) { // CCLog("size(%d, %d)", strlen(m_pNameBox->getText()), // strlen(m_pPasswordBox->getText())); if (strlen(m_pNameBox->getText()) > 0 && strlen(m_pPasswordBox->getText()) > 0) { string str; str.append(m_pNameBox->getText()); CCUserDefault::sharedUserDefault()->setStringForKey("UserName", m_pNameBox->getText()); CCUserDefault::sharedUserDefault()->flush(); CCDirector::sharedDirector()->replaceScene( CCTransitionFade::create(0.5, HelloWorld::scene())); } CCHttpRequest* request = new CCHttpRequest(); const char *uname = m_pNameBox->getText(); string url = "127.0.0.1:80/index.html?"; string postData = "username="******"&password="******"GetType data : %s", (url + postData).c_str()); request->setRequestType(CCHttpRequest::kHttpGet); request->setTag("GET test"); } else { request->setUrl(url.c_str()); request->setRequestType(CCHttpRequest::kHttpPost); request->setRequestData(postData.c_str(), postData.size()); CCLOG("GetType data : %s", postData.c_str()); request->setTag("POST test"); } request->setResponseCallback(this, httpresponse_selector(LoginLayer::onHttpRequestCompleted)); CCHttpClient::getInstance()->send(request); request->release(); m_pSendButton->setEnabled(false); }