cocos2d - x 시리즈 노트 (8) - cocos2d - x 프로젝트 에서 curl 을 사용 하여 웹 서버 와 통신 합 니 다.

오늘 은 curl 을 이용 하여 웹 서버 와 통신 하 는 방법 을 연구 했다.
cocs2d - x 에 curl 이 통합 되 어 있 기 때문에 우 리 는 curl 의 헤더 파일 과 정적 라 이브 러 리 파일 을 도입 하면 됩 니 다.
헤더 파일 추가:
항목 에서 오른쪽 단추 속성 -> 설정 속성 -> C/C++ -> 일반 -> 추가 포함 디 렉 터 리 -> 추가 $(COCOS2D - XSDK) cocos2dx\\platform\\thirdparty\win 32\curl 디 렉 터 리.
$(COCOS2D - XSDK) 는 이전 글 에서 정 의 된 환경 변수 입 니 다. cocos2d - x 시리즈 노트 (1) - 설치 편 을 참조 하 십시오.
정적 라 이브 러 리 파일 추가:
항목 에서 우 클릭 속성 -> 설정 속성 -> 링크 기 -> 입력 -> 추가 의존 항목 -> libcurl 증가imp.lib.
구현 코드 는 다음 과 같 습 니 다:
void HelloWorld::curlTest()
{
	CURL *curl;												//  curl  
	CURLcode res;											//        
	char buffer[10];

	curl = curl_easy_init();								//   curl  
	if(curl)
	{
		curl_easy_setopt(curl,CURLOPT_URL,"http://localhost:8080/BSUGameServer001/HelloServlet");	//    url
		curl_easy_setopt(curl,CURLOPT_POSTFIELDS,"no=1111111111");									//  post   
		curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION, &HelloWorld::process_data);					//              
		curl_easy_setopt(curl,CURLOPT_POST,1);														//       post  
			
		res = curl_easy_perform(curl);																//     
		curl_easy_cleanup(curl);																	//  curl  
		if(res == 0)
			CCLOG("0 response");
		else
		{
			sprintf(buffer,"code: %i",res);
			CCLOG(buffer);
		}
	}
}

size_t HelloWorld::process_data(uint8_t *buffer,size_t size,size_t nmemb,void *stream)
{
	//       
	CCLOG((const char *)buffer);																	
	//      
	size_t sizes = size*nmemb;
	return sizes;
}

이 예 코드 를 참조 하면 웹 서버 에 post 접근 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기