位置: 编程技术 - 正文

cocos2dx 3.2 Http网络连接,curl 库的介绍

编辑:rootadmin
cocos2dx HTTP网络连接简介

推荐整理分享cocos2dx 3.2 Http网络连接,curl 库的介绍,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

cocos2dx中HTTP网络连接部分主要使用了curl开源库。curl是一个跨平台的库,它可以模拟浏览器请求,模拟表单数据,上传下载,支持ftp和https,功能很强大,具体帮助信息可以通过curl的官网获取, cocos2dx中访问http网络有两种方式,一种就是直接使用curl库,自己构造相关参数,但前提是需要对curl使用方法有一定了解。还有一种就是使用HttpClient类,它是引擎基于curl为我们封装的一个类,使用起来比较方便,多线程,安全。两种方式区别在于HttpClient是异步的,而使用curl可以是同步的,也可以写成异步的,并且比较灵活,也可以应对比较复杂的网络请求。但一般情况下,建议直接使用HttpClient。

下面简单介绍一下curl的几个重要函数,知道了这几个函数的意义,使用起来就方便很多。使用时需要包含#include curl/curl.h

curl函数

1, CURLcode curl_global_init(long flags);

描述:从字面意思来看已经知道,这个函数只能调用一次。在模块的初始化函数中调用。如果这个函数在curl_easy_init函数调用时还没调用,它将由libcurl库自动完成。

2, void curl_global_cleanup(void);描述:在结束对libcurl调用的时候,也就是模块不再使用时,用来对curl_global_init做的清理工作。类&#;于close的函数。

3, char*curl_version( );描述: 打印当前libcurl库的版本。

cocos2dx 3.2 Http网络连接,curl 库的介绍

4 ,CURL*curl_easy_init( );描述:curl_easy_init用来初始化一个CURL的指针(有些像返回FILE类型的指针一样). 相应的在调用结束时要用curl_easy_cleanup函数清理。一般curl_easy_init意味着一个连接的开始。

5, void curl_easy_cleanup(CURL*handle);描述:这个调用用来结束一个连接。与curl_easy_init配合着用。参数就是init函数的返回&#;。

6 ,CURLcodecurl_easy_setopt(CURL *handle, CURLoption option, parameter);描述: 这个函数是比较重要的一个,几乎所有的curl 程序都要频繁的使用它。它告诉curl此次连接需要什么参数,例如请求类型,超时时间,是否支持SSL等。

CURLoption这个参数可以查找相应的头文件就可以知道curl支持哪些功能。

7 ,CURLcode curl_easy_perform(CURL*handle);描述:执行当前的请求。需要在执行curl_easy_init和curl_easy_setopt之后运行,参数同样是初始化时的返回&#;,这个函数是一个阻塞函数,当收到网络响应时才会返回。因此如果想要使用异步方式访问网络,应该在另外的线程中调用此函数。

cocos2dx中使用curl示例程序

以下程序简单的访问了google.com网址,并设置了超时时间和在屏幕上显示服务器返回信息。

HttpClient接口

使用HttpClient比较简单,首先构造一个HttpRequest类,设置请求的url,请求类型等。HttpClient是一个单例,调用其send方法,把请求发送出去。然后在HttpRequest中设置的回调函数中获取HttpResponse对象即可。

如下示例程序取自引擎自带的示例函数:

Cocos2dx单击事件优先级实例 boolMyTouchEvent1::init(){if(!Layer::init()){returnfalse;}SizevisibleSize=Director::getInstance()-getVisibleSize();Vec2origin=Director::getInstance()-getVisibleOrigin();Sprite*sp1=Sprite::create(Hello

Cocos2dx多点触摸实例 boolMyTouchEvent2::init(){if(!Layer::init()){returnfalse;}SizevisibleSize=Director::getInstance()-getVisibleSize();Vec2origin=Director::getInstance()-getVisibleOrigin();/创建3个文本标签Label*te

Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x 首先将src文件夹复制到jni文件夹,没有可以新建一个新建两个文件Android.mk,Application.mkApplication.mk内容如下:APP_ABI:=armeabiarmeabi-v7axAPP_PLATFORM:=android-8APP_

标签: cocos2dx 3.2 Http网络连接,curl 库的介绍

本文链接地址:https://www.jiuchutong.com/biancheng/372609.html 转载请保留说明!

上一篇:【cocos2dx】创建精灵的两种方法(cocos creator构建发布)

下一篇:Cocos2dx单击事件优先级实例(cocos按钮点击事件)

  • 公司贷款利息怎么做分录
  • 不动产销售额怎么填
  • 对公账号收款是结算主账户还是结算卡号
  • 减免税金需要计提吗
  • 分公司分开银行账户付款的好处
  • 个人动产租赁所得税税率表最新
  • 私募基金管理公司
  • 单位搬迁员工怎么办
  • 资产重组的税务筹划
  • 发生非正常损失的购进货物不准予抵扣的增值税
  • 非货币性资产投资印花税
  • 收到借户过账资金的短信
  • 工程预收账款的会计分录
  • 材料采购发生的合理损耗计入
  • 公司账户没有钱怎么办
  • 公司借别的公司的钱再借给别的公司
  • 行政单位要纳税吗
  • 企业注销时有未抵扣的留抵
  • 分公司开票总公司收款行吗
  • 关于环保税的计税依据
  • 什么企业不可以开通信保订单服务
  • 开通电子税务局需要什么资料
  • 以股权增资的税费怎么算
  • 仓库的租赁费
  • 关于销售免税品的规定
  • 吊销执照公司资产怎么办
  • PHP:xml_set_processing_instruction_handler()的用法_XML解析器函数
  • macbookpro安装dmg
  • 向境外股东分配利润怎么交税
  • 会计交接的时候是不是有报税单
  • 企业应纳所得税计算公式
  • php变量格式说法错误的是
  • 家具折旧费是什么意思
  • 委托代销商品发票是谁开给客户
  • 拍卖有抵押的车子怎么处理
  • thinkphp设置伪静态
  • 福利包括什么
  • thinkphp smarty
  • 税前扣除项目什么意思
  • 华为od机试题题库
  • 猿创设计科技有限公司
  • 编程前十名
  • 微擎框架破解版v2.7.7
  • 销售成本销售收入的关系
  • 融资租赁视同销售吗
  • 农业种植会计
  • 小企业购入债券作为长期债券投资,应将相关税费计入
  • 金税盘一天可以开多少张发票
  • 股权收购被收购方怎么做账
  • 车船税应计入税金及附加吗
  • 工会经费是按应付职工薪酬贷方计提吗
  • 出口报关金额怎么算
  • 合理的物料消耗是指
  • 发明专利权限的期限是多少年
  • 土地使用权出资是什么意思
  • 增值税发票未认证丢失怎么办
  • 购买材料如何做会计分录
  • 税务稽查其他应付款
  • 个人到税务局开普票要交多少税
  • 企业增资还需要增资账户么
  • 数据库保护数据方式
  • CentOS7 64位安装mysql图文教程
  • win7系统玩游戏
  • 苹果mac使用
  • Win10装不上是什么原因
  • window10自带录屏录制不工作
  • win8系统关机后电脑一直运行
  • win10新建文件夹的快捷键是哪个
  • cocos2d怎么用
  • 多个checkbox选中触发事件
  • perl删除文件夹
  • glGenTextures(GLsizei n, GLuint *textures)函数说明
  • python的删除命令
  • 如何利用工具人
  • android实现底部菜单
  • Unity3D&&TexturePacker
  • js动态创建script标签
  • 南通房屋登记系统
  • 江苏几个地级市几个县级市
  • 税务津贴提高1100
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设