'curl'에 해당되는 글 1건

  1. 2014.04.11 cocos2d 에서 curl 쓰기 (webserver) 연동
728x90

 

 

 

우선 현재만든 cocos 프로젝트에 libNetwork를 추가 시켜주어야 합니다.

 

 

경로 : 자기가만든 cocos프로젝트->cocos2d->cocos->network 입니다.

 

 

그리고 프로젝트의 빌드종속성->프로젝트 종속성으로 들어갑니다.

 

 

libNetwork에 체크를 해주고 확인을 합니다.

 

 

프로젝트의 속성으로 들어가서 링커->입력 부분에서

저 3가지 lib를 추가 해준다.

 

 

그리고 C/C++ 부분에서 일반 부분에서

추가 포함 디렉토리에서 경로를 추가 해주어야 한다.

 

..\Classes;

$(EngineRoot);

$(EngineRoot)cocos;

$(EngineRoot)cocos\editor-support;

$(EngineRoot)cocos\audio\include;

$(EngineRoot)cocos\network;

$(EngineRoot)external;

$(EngineRoot)external\chipmunk\include\chipmunk;

$(EngineRoot)external\curl\include\win32;

$(EngineRoot)external\websockets\win32\include;

$(EngineRoot)extensions;

..

 

일단 내 프로젝트 디렉토리에는 이정도로 추가되어있다 아직 나도 정확히 어떤부분을 추가해야되는건지는 잘몰라서일단 다 적어올려놓는다.

 

오른쪽 클릭 복사가 막혀있기 때문에 임의로 메모장에 적어서 파일을 올려 놓을테니 필요하신분들은 거기 있는것들 그냥 복사해서 추가 하면 될듯합니다.

 

lib.txt

 

다하셨으면 확인 하시면 이제 전반적인 설정은 끝

 

<HelloWorldScene.h>

 

간단하게 기본적으로 cocos 프로젝트를 생성하면 생기는 HelloWorldScene 에서 한번 해보는 코드입니다.

 

위에 보이는 3가지 헤더파일 include 하시고

웹 서버로 요청을 한 후 다시 응답을 받아 처리할 함수를 하나 만듭니다.

 

<HelloWorldScene.cpp>

 

HttpRequest의 객체를 만든다음 해당 url로 요청을 보내는 코드 부분입니다.

 

setUrl 안의 주소는 웹서버의 역할을 하고 있는 이름은 main이고 서블릿으로 만든 자바파일입니다.

 

(넘겨온 name의 파라미터 값을 따로 저장해서 json으로 만들어서 뿌려주는 간단한 코드입니다.)

 

 

 

postData 변수를 보면 해당 url에 파라미터로 name을 넘겨주고 있고 그 name 파라미터의 값은 test 입니다.

 

그리고 cocos에서 요청을 보낼때 POST 형식으로 보내고 있기 때문에 서블릿에서도 doPost, doGet 이있는데

doPost 부분에서 처리해야 합니다.

 

 

기본적으로 응답이 재대로 오지않았으면 바로 return을 시키고 있습니다.

 

뭐 그외의 예외상황도 여러가지 처리하고 있구요.. 자세히 코드를 설명하진 않겠습니다..

 

vector를 만들어서 응답으로 받아온 데이터를 넣고 있습니다.

 

그리고 strData에 추가시킨후 cocos 화면 자체에선 확인할수 없고

디버깅 모드로 돌려서 출력창에서 한번 확인해 보면...

 

뭐 출력창엔 재대로 response가 되었으면 complete 라는 문구와 함께

response의 responseCode 번호가 찍히게 되게 되있고

 

제일 중요시 볼건 srtData 변수에 웹서버에서 보내온 데이터가 재대로 받아졌는지 입니다.

JSON으로 만든형식을 웹서버에서 받아오고 있고 디버깅 화면에서 저렇게 잘 받아오는게 보이네요~

 

끝!

 

 

728x90
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침