(转载)使用curl 和 libjson 完成联网和数据解析
转载地址:http://my.oschina.net/cocosgame/blog/71181
libjson 编译和使用 - 3. libjson的C接口 API
http://blog.csdn.net/laogong5i0/article/details/8225936
项目就要做到联网了, 选择了用curl库来完成联网部分,网上看了下curl使用,要是简单的联下网,测测数据什么的,还是挺简单的,但要用到游戏里面,那就有必要进一步的封装了。
由于C++这块还不是很熟悉,要完成这个工作估计要点时间。
------------------------------------------------------------------------------
因为之前的项目还有点工作要做,所以耽误了点时间。
新项目要解决联网和数据解析的问题了,目前决定用curl来解决联网,传送的数据用json,客户端用libjson来完成数据解析。
首先来解决联网的问题,cocos2dx自带了curl库,使用起来很方便。在win32上直接把头文件curl.h引进来就可以了(注意路径),在android下用还要在android.mk文件把curl库添加进来,具体可以参考tests例子。
接下来怎么用curl来连接后台?
具体可以看看这个链接:http://blog.csdn.net/jgood/article/details/4787670,(中文的)
还有就是 curl自带文档:http://curl.haxx.se/libcurl/c/libcurl-tutorial.html (英文的)
由于我也是刚刚开始用curl,很多用法都不是很熟悉,只是简单的使用了get和post两种方法和后台交互。
折腾了几个钟,终于顺利的从后台拿到了数据,只是从win32移植到android的时候,遇到的问题,第一个就是添加curl 库时,刚才是不知道怎么添加,后来才想起tests里面有用到curl,于是就把方法照搬过来. 但是还是拿不到数据,还要把android联网的权限打开。到此android上也能顺利拿到数据了。
联网解决了,下面就是数据解析了。
先是在网上查找和cocos2dx c++ json有关的资料,可以看看这个链接:http://blog.csdn.net/onerain88/article/details/7595563,然后实际操作了,先把libjson库解压,把源文件libjson.h.JSONOptions.h 和文件夹Source拷贝到cocos2dx的工程的Class目录下,在JSONOptions.h有些宏需要注意。一个就是: #define JSON_LIBRARY 这个规定libjson用的是c语言,把它注释了就变成用C++了,具体就看个人喜欢了。还有其他一些宏声明是debug版的还是nodebug的,具体还是看看源文件吧。按照libjson教程成功把json字符串解析了出来,其中解析json数组时废了点时间,要用到遍历每个数组元素,然后存到一个c++的数组里面。到此win32下联网和数据解析都可以了。当把libjson移植到android时,也遇到的点问题。首先是编译问题,用NDK编译libjson时,需要把C++的异常捕获打开,在android.mk文件加上LOCAL_CPPFLAGS += -fexceptions这句,就这个问题纠结了一段时间。
好,现在win32和android下都能联网和解析数据了。
come from :http://blog.csdn.net/zwx12031017/article/details/8541405
(转载)使用curl 和 libjson 完成联网和数据解析的更多相关文章
- 使用 cURL 获取站点的各类响应时间 – dns解析时间,响应时间,传输时间
http://zhangrenfang8738.blog.163.com/blog/static/95401881201142711450245/ curl监控站点响应时间 2011-05-27 11 ...
- iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态
一.AFNETWorking简单使用 get请求 get请求,以后经常用NSURLSession底层的写的部分 简单的post请求 用post请求下载文件,方法很多,还可以通过upload任务来执行 ...
- php中CURL技术模拟登陆抓取数据实战,抓取某校教务处学生成绩。
这两天有基友要php中curl抓取教务处成绩的源码,用于微信公众平台的开发.下面笔者只好忍痛割爱了.php中CURL技术模拟登陆抓取数据实战,抓取沈阳工学院教务处学生成绩. 首先,教务处登录需要验证码 ...
- 联网请求数据:Android篇
这篇文章主要回顾之前的MYangtzeu App教程的联网请求方法和json解析套路,主要目的是实现左侧菜单数据的联网获取. 1.先上请求地址实体类Constants.java package com ...
- for循环中进行联网请求数据、for循环中进行异步数据操作,数据排序错乱问题解决;
for循环中进行联网请求数据,由于网络请求是异步的,第一个网络请求还没有回调,第二次第三次以及后续的网络请求又已经发出去了,有可能后续的网络请求会先回调:这时我们接收到的数据的排序就会错乱:怎么才能让 ...
- 转载:CURL常用命令
转载网址:http://www.cnblogs.com/gbyukg/p/3326825.html 下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.cent ...
- [转载] Linux curl命令详解
转载自http://www.linuxdiyf.com/linux/2800.html 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的htt ...
- 转载:curl 模拟请求
一般情况下我们会在网页上请求后台接口,但是对于需要进行多次测试的人来说,每一次都要在网页上模拟请求,是存在很大局限性的.因此,我们需要学会模拟请求,以达到跟实际请求一样的效果. 1. curl的用法 ...
- 【转载】curl 模拟 GET\POST 请求,curl查看响应头 以及 curl post 上传文件
补充说明:curl查看响应头 curl -I "http://www.baidu.com"HTTP/1.1 200 OK #HTTP协议 HTTP 返回码Server: Tengi ...
随机推荐
- [JSOI2009]瓶子和燃料
Description jyy就一直想着尽快回地球,可惜他飞船的燃料不够了. 有一天他又去向火星人要燃料,这次火星人答应了,要jyy用飞船上的瓶子来换.jyy 的飞船上共有 N个瓶子(1<=N& ...
- 【DP】CF859C Pie Rules
https://www.luogu.org/problemnew/show/CF859C Description 有一个长度为\(n\)的序列,Alice和Bob在玩游戏.Bob先手掌握决策权. 他们 ...
- webstorm 激活破解方法大全
webstorm 作为最近最火的前端开发工具,也确实对得起那个价格,但是秉着勤俭节约的传统美德,我们肯定是能省则省啊. 方法一:(更新时间:2018/1/23)v3.3 注册时,在打开的License ...
- discuz uc_server 配置登录
新运行uc_server环境,先配置好ucenter链接-----这部很重要,我从新环境中安装下载的discuz代码,这部没配置,密码又不知道,怎么更改调试,都不起作用,在框架中,跳转到了原来线上的u ...
- 微信小程序传值
方式一:通过设置id方式传值 <button class="btninvest" bindtap="goinvet" id="{{item.tx ...
- u3d图片转视频
c#代码://将截图生成视频public static void createVideo(){ ProcessStartInfo psi = new ProcessStartInfo(); psi.F ...
- Python/spss-多元回归建模-共线性诊断2(推荐AA)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- C++ string的那些坑
1. size_type find_first_of( const basic_string &str, size_type index = 0 ); 查找在字符串中第一个与str中的某个字符 ...
- Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令
Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令 ------------------------------------------------------------------ ...
- Spring整合JMS(二)——三种消息监听器(转)
*注:别人那复制来的 1.3 消息监听器MessageListener 在Spring整合JMS的应用中我们在定义消息监听器的时候一共可以定义三种类型的消息监听器,分别是MessageList ...