【Cocos2dx-3.x】通信协议之HTTP通信协议篇
来源:互联网 发布:淘宝体验中心 编辑:程序博客网 时间:2024/06/05 11:18
好记性不如烂笔头
前言
Cocos2d-x提供了3种网络连接通信方式,分别为:HTTT、Socket、WebSocket等;本小结主要以Http协议为主:2.x和3.x的通信协议没有太大的变化,HTTP中有3种数据提交方式,分别为: GET、POST、PUT; 这里以HTTP中常用的GET、POST作为代码示例,GET和POST区别在于,GET适用于从服务器获取小的数据;而POST则适用于向服务器提交比较多的数据,用法如下:
预备工作
首先创建2个文字按钮,分别为GET、POSTS。点击按钮GET,调用createGetHttp()函数;点击按钮POST,调用createPostHttp()函数。接下来的操作就在这两个函数里进行(按钮创建这里就不多说了)
HTTP 之 GET方式通信
首先在使用HTTp协议的类中要把HttpClient.h、HttpRequest.h、HttpResponse.h这三个头文件包含进来,并且声明好命名空间:using namespace cocos2d::network;
在方法createGetHttp()中:
1. 生成HttpRequest对象
2 . 设置请求链接
3. 设置请求类型
4. 设置请求完成后的回调函数
5. 设置请求tag值
6. 生成HttpClient对象,并且发送请求
7. 释放 HttpRequest对象
请求完整代码:
到这里我们的请求已经发出,接下来要对请求返回的数据进行处理,上面已经设置好了请求响应函数,下面是对返回的一些处理:
函数getHttp_handshakeResponse(HttpClient *sender, HttpResponse *response)
1. 通过参数response得到请求tag值,如果能够成功获取则请求发送成功。
2. 通过getResponseCode()函数来获取请求状态码,状态码为200时,则发送请求成功
3. 也可以根据 isSucceed()这个函数来判断是否发送请求成功,这个函数返回bool类型
4. 确认请求发送成功后,利用getResponseData()函数来得到请求返回的数据,得到的数据,根据自己项目所需进行响应处理即可,这里只做了输出处理
到这里GET请求与接收就完成了,下面是完整代码
HTTP 之 POST方式通信
POST 方式与GET方式通信请求过程几乎相近,只要把请求方式修改下即可:
在方法createPostHttp()中:
以上就是POST的发送请求,和GET很像,这里我们的post请求已经发出,接下来要对请求返回的数据进行处理,上面已经设置好了请求响应函数,下面是对返回的一些处理:
函数PostHttp_handshakeResponse(HttpClient *sender, HttpResponse *response)
总结
到这里本章节的学习就结束,想看项目运行效果的可以从我的gitHub上获取本节源码点击这里,Socket以及WebSocket网络通信方式分别会在下章节讲到!
更多文章请访问我的个人博客:http://www.sydev.cn
- 【Cocos2dx-3.x】通信协议之HTTP通信协议篇
- 【Cocos2dx-3.x】通信协议之Socket通信协议篇
- 【Cocos2dx-3.x】通信协议之WebSocket通信协议篇
- HTTP通信协议
- http 通信协议
- 软件通信之HTTP通信协议
- 通信协议之:Http,Socket,UDP
- 通信协议
- 通信协议
- 通信协议
- 通信协议
- 通信协议
- 通信协议
- 通信协议
- 通信协议之Http、TCP、UDP详解
- Android:Http通信协议
- 通信协议HTTP、TCP、UDP
- 通信协议-HTTP/TCP/UDP
- 我们为什么需要DTO(数据传输对象)
- XenServer 虚拟机备份脚本
- NGUI查找子节点下的所有组件并且循环遍历销毁
- Angularjs表单的使用
- Copy List with Random Pointer
- 【Cocos2dx-3.x】通信协议之HTTP通信协议篇
- 多线程sem_init
- android 图片浏览器 demo
- android 过USB-IF测试注意事项及修改
- 数据结构之二叉树练习
- 婴幼儿食谱二十个月孩子
- 面试中如何剔除“鱼目混珠”程序员(转)
- 花生壳tomcat搭建并发布到外网访问,类似映射软件对比
- android之service(二)