转载地址: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 完成联网和数据解析的更多相关文章

  1. 使用 cURL 获取站点的各类响应时间 – dns解析时间,响应时间,传输时间

    http://zhangrenfang8738.blog.163.com/blog/static/95401881201142711450245/ curl监控站点响应时间 2011-05-27 11 ...

  2. iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态

    一.AFNETWorking简单使用 get请求 get请求,以后经常用NSURLSession底层的写的部分 简单的post请求 用post请求下载文件,方法很多,还可以通过upload任务来执行 ...

  3. php中CURL技术模拟登陆抓取数据实战,抓取某校教务处学生成绩。

    这两天有基友要php中curl抓取教务处成绩的源码,用于微信公众平台的开发.下面笔者只好忍痛割爱了.php中CURL技术模拟登陆抓取数据实战,抓取沈阳工学院教务处学生成绩. 首先,教务处登录需要验证码 ...

  4. 联网请求数据:Android篇

    这篇文章主要回顾之前的MYangtzeu App教程的联网请求方法和json解析套路,主要目的是实现左侧菜单数据的联网获取. 1.先上请求地址实体类Constants.java package com ...

  5. for循环中进行联网请求数据、for循环中进行异步数据操作,数据排序错乱问题解决;

    for循环中进行联网请求数据,由于网络请求是异步的,第一个网络请求还没有回调,第二次第三次以及后续的网络请求又已经发出去了,有可能后续的网络请求会先回调:这时我们接收到的数据的排序就会错乱:怎么才能让 ...

  6. 转载:CURL常用命令

    转载网址:http://www.cnblogs.com/gbyukg/p/3326825.html 下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.cent ...

  7. [转载] Linux curl命令详解

    转载自http://www.linuxdiyf.com/linux/2800.html 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的htt ...

  8. 转载:curl 模拟请求

    一般情况下我们会在网页上请求后台接口,但是对于需要进行多次测试的人来说,每一次都要在网页上模拟请求,是存在很大局限性的.因此,我们需要学会模拟请求,以达到跟实际请求一样的效果. 1. curl的用法 ...

  9. 【转载】curl 模拟 GET\POST 请求,curl查看响应头 以及 curl post 上传文件

    补充说明:curl查看响应头 curl -I "http://www.baidu.com"HTTP/1.1 200 OK #HTTP协议 HTTP 返回码Server: Tengi ...

随机推荐

  1. 【HEOI 2018】林克卡特树

    转载请注明出处:http://www.cnblogs.com/TSHugh/p/8776179.html 先说60分的.思路题解上很清晰: 问题似乎等价于选K+1条点不相交的链哎!F(x,k,0/1/ ...

  2. 图像灰度化方法总结及其VC实现

    http://blog.csdn.net/likezhaobin/article/details/6915754 最近一段时间作者开始进行运动目标识别定位系统设计,本文以及后续的几篇文章都是从一个图像 ...

  3. P1582 倒水 (数学)

    P1582 倒水 题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了,于是他决定保留不超过K个瓶子.每次他选择两个当前含水量相同的瓶子,把 ...

  4. lnmp集成环境Access Denied的问题

    在你的php.ini配置文件中,设置cgi.fix_pathinfo=1

  5. 浅谈cocosd之autorelease\retain\release的理解

    三种情况,引出问题:   1) new出来的对象需要释放,而释放时,如果有其他人引用了这个对象,再次使用这个对象时,则会出现野指针情况. ==> 于是出现了引用计数的释放管理机制. 2) 对于一 ...

  6. [DeeplearningAI笔记]卷积神经网络3.10候选区域region proposals与R-CNN

    4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.10 region proposals候选区域与R-CNN 基于滑动窗口的目标检测算法将原始图片分割成小的样本图片,并传入分 ...

  7. oracle分析函数 (转)

    一.总体介绍 12.1 分析函数如何工作 语法 FUNCTION_NAME(<参数>,…) OVER (<PARTITION BY 表达式,…> <ORDER BY 表达 ...

  8. HDU 2920 分块底数优化 暴力

    其实和昨天写的那道水题是一样的,注意爆LL $1<=n,k<=1e9$,$\sum\limits_{i=1}^{n}(k \mod i) = nk - \sum\limits_{i=1}^ ...

  9. ZOJ 3782 G - Ternary Calculation 水

    LINK:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3782 题意:给出3个数和两个符号(+-*/%) 思路:拿到题目还 ...

  10. GridControl详解(三)列数据的格式设置

    为了测试方便,我们加入新的3列,格式分别是数据,时间,字符串.代码增加下列部分: //格式增加 dt.Columns.Add("数据",typeof(decimal)); dt.C ...