// 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 );
    }   
}
Beispiel #2
0
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;
}
Beispiel #4
0
CCHttpRequest* CHttpServer::getGetRequestByUrl(const char* pUrl)
{
	CCHttpRequest* pRequest = new CCHttpRequest();
	pRequest->setUrl(pUrl);
	pRequest->setRequestType(CCHttpRequest::kHttpGet);
	addDefaultHeaders(pRequest);
	return pRequest;
}
Beispiel #5
0
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));
	};
Beispiel #7
0
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;
}
Beispiel #9
0
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);
}
Beispiel #11
0
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;
}
Beispiel #13
0
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();
}
Beispiel #16
0
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();
		}
	};
Beispiel #18
0
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();
}
Beispiel #19
0
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();
}
Beispiel #22
0
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();
}
Beispiel #23
0
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();
}
Beispiel #24
0
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);
        }
    }
}
Beispiel #25
0
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;
}
Beispiel #27
0
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);
    
}
Beispiel #28
0
NewsScene::NewsScene()
{
    CCHttpRequest *requestor = CCHttpRequest::sharedHttpRequest();
    
    
    char tmpbuf[128];
    
    time_t ltime;
    
    struct tm *today;
    
    
    
    time( &ltime );
    
    today = localtime( &ltime );
    
    
    
    /* 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();
}
Beispiel #29
0
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;
}
Beispiel #30
0
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);
}