- HTTP 요청을 하기위해서 HttpRequest를 생성합니다.
- setResponseCallback() 를 통해서 Request완료됬을때의 콜백함수를 설정합니다.
- HttpClient를 사용하여 HttpRequest를 발송합니다.
네트워크 액세스
HTTP를 사용한 네트워크 액세스
네트워크상에서 어떤 리소스데이터를 얻어와야 할때가 있습니다.
자주 사용되는 해결방법은 HTTP를 사용하여 네트워크 액세스를 하는것입니다.
HTTP 를 사용하여 네트워크 액세스를 하려면 아래의 3단계를 따라가세요.
HttpRequest 는 4종류의 타입이 있습니다: POST PUT DELETE UNKNOWN
타입을 지정해주지 않으면 디폴트로 UNKNOWN으로 사용됩니다.
HttpClient 객체가 Request의 발송 및 데이터의 수신을 책임집니다.
예시:
C++
HttpRequest* request = new (std :: nothrow) HttpRequest();
request->setUrl("http://just-make-this-request-failed.com");
request->setRequestType(HttpRequest::Type::GET);
request->setResponseCallback(CC_CALLBACK_2 (HttpClientTest::onHttpRequestCompleted, this));
HttpClient::getInstance()->sendImmediate(request);
request->release();
setResponseCallback() 를 통해서 Request완료시 콜백함수를 설정하였습니다.
이렇게 하면 Request가 완성됬을때 우린 리턴된 데이터를 볼수있고 우리가 필요한 데이터를 추출할수 있습니다.
콜백함수를 작성하는방법은 간단합니다.아래를 보시죠.
C++
void HttpClientTest::onHttpRequestCompleted(HttpClient* sender, HttpResponse* response)
{
if (!response)
{
return;
}
// Dump the data
std::vector<char>* buffer = response->getResponseData();
for (unsigned int i = 0; i <buffer-> size (); i ++)
{
log ("% c", (* buffer) [i]);
}
}
출처: <http://cocos2d-x.org/docs/cocos2d-x/zh/advanced_topics/networking.html>
'Cocos2d-x v3.17 > 고급 기능' 카테고리의 다른 글
[Cocos2d-x 고급기능]그래픽 성능 최적화 및 SQLite (0) | 2018.08.11 |
---|---|
[Cocos2d-x 고급기능]Shader 와 Material (0) | 2018.08.11 |
[Cocos2d-x 고급기능]파일 시스템 접근 (0) | 2018.08.11 |
[Cocos2d-x 고급기능]고급 사운드 기능 (0) | 2018.08.11 |
[Cocos2d-x 고급기능]소리 제어 (0) | 2018.08.11 |