Cocos2dx 为我们封装了在cocos2dx中http的网络框架,其文件在cocos2dx引擎包的extensions\network文件下的 HttpClient、HttpRequest 、HttpResponse。
使用CCHttprequest联网有两种方法get和post。get和post都能够从server获取数据,这两种联网的方法有所不同。以下简单的区分一下
1.get提交的时候数据放到URL后面,post放在HTTP协议消息体中。
2.get数据量大小有限制,2KB,post理论上没限制。
3.get的安全性比post差。
可是真正的底层,用的还是cURL库。。。
CURL是cocos2d-x推荐使用的联网方法,这样的联网的方法能够跨平台
1.首先创建一个类,继承自cocos2d-x中的不论什么一个类都能够(有共同父类CCObject),并实现一个SEL_CallFuncND类型成员函数,用来做收到数据后的回调函数,函数原型为void fun(CCNode*, void*)。
2.当我们须要一次http交互的时候,我们须要new 一个CCHttpRequest对象,并设置url和请求方式(get还是post,本文仅仅说一下get的原理,post差别不大,能够自己看),并将上面说函数设置为收到数据后的回调函数。
3.使用CCHttpClient::getInstance()单例对象,将前一步骤的CCHttpRequest对象作为參数,调用send()方法。
4.在回调函数中,将第二个參数转换成CCHttpResponse *类型,就能够通过CCHttpResponse类的方法来获取返回状态和数据等能容了。
具体样例testCpp有具体的代码
參考;
http://blog.csdn.net/zhy_cheng/article/details/9124275
http://blog.csdn.net/duotianshi86/article/details/10216383