Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了cocos2dx 3.3rc0 踩坑日记(二)------ HttpClient 的使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

昨天写了Curl的简单使用,遇见了几个坑,今天用httpClient写样例还是遇见了坑~

cocos2dx 3.3rc0 踩坑日记(二)------ HttpClient 的使用

按照网上的资料写总是遇见问题。。。应该是版本不一样!!!下面我来说说httpClient的使用方法。

首先要引入头文件和命名空间

#include"network/httpClient.h"
usingnamespacecocos2d::network;

但是这样还不行,编译的话会报错,无法解析的外部符号.......

出现这个需要添加network库,添加库的方式和以前有点不同。3.x有些附加项目在项目中被精简出去了,如libCocosstudio、libExtensions、libGUI等这些就需要自己手动添加。

添加方式:在“解决方案资源管理器”中找到整个解决方案,右击,选择“添加”->“现有项目”。在弹出的对话框中找到“项目目录\cocos2d\cocos\network\proj.win32\libNetwork”点击确定

添加完之后,要对其进行引用,如下图:

cocos2dx 3.3rc0 踩坑日记(二)------ HttpClient 的使用



进入“引用”,选择“添加新引用”,把libNetwork添加进去就好了。。。。才怪!!!!

还需要添加libcurl_imp.lib,因为httpClient是对Curl的封装!

cocos2dx 3.3rc0 踩坑日记(二)------ HttpClient 的使用

把样例的代码改成如下代码:

voidHelloWorld::TouchEnded(Touch*pTouch,Event*pEvent)
{
	log("HelloWorld::TouchEnded");
	//创建请求对象
	httprequest*request=newhttprequest();
	//设置请求的url
	request->setUrl("www.baidu.com");
	//设置为Get模式
	request->setrequestType(httprequest::Type::GET);
	//设置响应的回调
	request->setResponseCallBACk(CC_CALLBACK_2(HelloWorld::onhttprequestCompleted,this));
	request->setTag("test");
	//发送请求
	httpClient::geTinstance()->send(request);
	//释放请求
	request->release();
}
voidHelloWorld::onhttprequestCompleted(httpClient*sender,httpResponse*responsE)
{
	if(response->isSucceed())
	{
		mLabel->setString("Connectsuccessfully!");
	}
	else
	{
		charbuf[128];
		longres=response->getResponseCode();
		sprintf(buf,"code:%i",res);
		mLabel->setString(buf);
	}
}

就可以实现curl样例的效果了!!!!

最后还有个不能漏的,必须在在退出的时候调用httpClient::geTinstance()->destroyInstance();否则在你关闭窗口的时候会报错!!!!

这篇是httpClient初步使用进行的说明,应该还会有后续文章!

如有不足之处,请大家指出,一起交流成长!

大佬总结

以上是大佬教程为你收集整理的cocos2dx 3.3rc0 踩坑日记(二)------ HttpClient 的使用全部内容,希望文章能够帮你解决cocos2dx 3.3rc0 踩坑日记(二)------ HttpClient 的使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。