【Cocos2d-x】 HttpClient 网络通信(Http)的简单应用
2014-06-03 13:47
489 查看
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
使用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
相关文章推荐
- 【Cocos2d-x】 HttpClient 网络通信(Http)的简单应用
- Android中网络通信方式的简单汇总(HttpURLConnection、HttpClient、Socket等)
- HttpClient网络通信
- Android开发之网络通信(HttpURLConnection,HttpClient,HttpGet,HttpPost)
- 【COCOS2DX-LUA 脚本开发之八】不用CCHttpClient而转用quick-cocos2d-x或cocos2dx-LuaProxy的Lua框架实现Lua-Http网络交互!
- 【代码】Android的网络通信详解HttpUrlConnection和HttpClient
- Android HttpClient网络通信
- HttpClient网络通信的测试
- Java网络通信之HttpClient
- 【COCOS2DX-LUA 脚本开发之八】不用CCHttpClient而转用quick-cocos2d-x或cocos2dx-LuaProxy的Lua框架实现Lua-Http网络交互!
- 客户端和应用服务器之间利用HttpClient和Servlet交互JSON对象进行通信
- Android的HTTP方式网络通信----HttpClient
- android 网络通信 方案1 httpclient
- IOS网络通信 之第三方框架ASIHttpRequest的简单使用
- Android HTTP网络通信(一):使用HttpURLConnection、HttpClient
- Android HttpClient(Get,Post方式)进行网络通信
- Android的网络应用-使用Apache HttpClient
- Android的网络应用-使用Apache HttpClient
- cocos2d-x-2.0.4的网络连接库CCHttpClient的BUG
- android HttpClient网络通信工具类基于XML