代码如下
HttpManager::~HttpManager(void)
{
//if(_instance)
//{
// delete _instance;
// _instance = nullptr;
//}
}
HttpManager* HttpManager::getInstance()
{
if(!_instance)
{
_instance = new HttpManager();
}
return _instance;
}
void HttpManager::sendRequest(std::string url,std::string moudle)
{
HttpRequest* request = new HttpRequest();
std::string webAddress;
webAddress = url;
request->setUrl(webAddress.c_str());
request->setRequestType(HttpRequest::Type::POST);
request->setResponseCallback(CC_CALLBACK_2(HttpManager::onHttpRequestCompleted, this));
//request->setTag(moudle.c_str());
HttpClient::getInstance()->send(request);
request->release();
}
void HttpManager::onHttpRequestCompleted(HttpClient *sender, HttpResponse *response)
{
if (!response)
{
return;
}
if (0 != strlen(response->getHttpRequest()->getTag()))
{
log("%s completed", response->getHttpRequest()->getTag());
}
long statusCode = response->getResponseCode();
log(“response code: %ld”, statusCode);
if (!response->isSucceed())
{
log(“response failed”);
log(“error buffer: %s”, response->getErrorBuffer());
return;
}
//解析数据
std::vector *buffer = response->getResponseData(); //获取内容
std::string dataStr = “”;
for (unsigned int i = 0; i < buffer->size(); i++)
{
printf("%c", (buffer));
//dataStr = dataStr + buffer->at(i);
//log(“dataStr = %s”,dataStr);
}
//发送内容到lua解析
}
使用引擎cocos2dx 3.2版本 通讯正常 每次关闭整个窗口的时候就会报错