首先,在使用CURL之前要进行环境的初始化工作,使curl_global_init(CURL_GLOBAL_ALL)就可以进行全局变量初始化工作,如代码第7行所示。之后使用curl_easy_init()语句创建一个对象并且完成对象的初始化工作,如代码第8行所示。代码的第9行和第10行是用来设置一些HTTP请求的参数,包括需要访问的URL地址和通过哪个方法处理返回的信息。当我们接收到信息以后就可以使用log函数打印输出了。最后别忘了使用curl_global_cleanup()方法做清理工作,否则会造成不必要的资源占用。
三、通过HTTP协议向服务端发送请求
在HTTP中有两种向服务器发送信息的方式分别是GET和POST方式,相信稍微有一些网络编程经验的朋友对他们一定不会陌生。在Cocos2d-x中通过GET\POST发送信息的方法也和web编程中的大同小异,下面我们就来了解一下。
1.GET方法传递数据
通过GET方式传递数据是比较简单的,只要在URL后面添加参数就可以了。
从上面的流程图可以看出,处于pending状态的Promise对象既可以转变为一个带有成功值的fulfill状态,也可以转变为一个带有失败信息的rejected状态。当Promise的状态发生改变时,由Promise.then绑定的回调函数就会被调用。
函数就是一段可以反复调用的代码块。函数声明由三部分组成:函数名,函数参数,函数体。整体的构造是function命令后面是函数名,函数名后面是一对圆括号,里面是传入函数的参数。函数体放在大括号里面。当函数体没有使用return关键字返回函数时,函数调用时返回默认的undefined;如果有使用return语句,则返回指定内容。函数最后不用加上冒号。
这里查询分成以下几步。首先,将第7个一样,将全表都使用临时表加上级别;其次,根据级别来判断有几种类型,以上文中举的例子来说,有三种情况:(1)当前节点为顶级节点,即查询出来的lev值为1,那么它没有上级节点,不予考虑。(2)当前节点为2级节点,查询出来的lev值为2,那么就只要保证lev级别为1的就是其上级节点的兄弟节点。(3)其它情况就是3以及以上级别,那么就要选查询出来其上级的上级节点(祖父),再来判断祖父的下级节点都是属于该节点的上级节点的兄弟节点。 最后,就是使用UNION将查询出来的结果进行结合起来,形成结果集。