cocos2d-x中的curl
来源:互联网 发布:苏州网络报警平台 编辑:程序博客网 时间:2024/05/22 18:22
转自:cocos2d-x中的curl
将请求的接口的动作放在互斥锁中进行
pthread_mutex_t mutex;pthread_t thread;sem_t * m_structSem;struct SimpleStructure{int data;float otherData;};void* ThreadFunction(void* arg){pthread_mutex_lock(&mutex);SimpleStructure* args = (SimpleStructure*)arg;//todo...delete args;pthread_mutex_unlock(&mutex);pthread_mutex_destroy(&mutex);sem_destroy(m_structSem);return NULL;}pthread_mutex_init(&mutex, NULL);m_structSem = sem_open(strThreadName.c_str(), O_CREAT, 0644, 0)//SimpleStructure* args = new SimpleStructure();args->data = 1;args->otherData = 2.0f;//pthread_create(&thread, NULL, &ThreadFunction, args);
使用CURL(Cocos2d-x中将curl做为第三方库加入进来,它被放在cocos2dx/platform/third-party/win32的curl目录下)
CURL * curl; string strHtml; string strRetData = ""; //第一步:初始化CURL,取得初始化成功后的CURL指针。 curl = curl_easy_init(); if (!curl) { return false; } CCLOG("Http get string, conn: %s, url: %s", strConnName.c_str(), strUrl.c_str()); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, HttpWriteString); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &strHtml); curl_easy_setopt(curl, CURLOPT_FAILONERROR, true); curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10); //这里定义一个CURL库中API的返回值,用于取得API调用的结果。 CURLcode res; //第二步,设定我们用此CURL指针来完成的动作。 //参数一为CURL指针,参数二为相应的动作类型枚举,这个枚举值在curl.h中定义,比如本例中的CURLOPT_URL,定义为CINIT(URL, OBJECTPOINT, 2),即联接一个网站的HTTP服务。 //参数三为动作对应的数据参数,这里是网站的URL地址。 curl_easy_setopt(curl, CURLOPT_URL, strUrl.c_str()); ///第三步,执行上面设定的动作处理。返回结果放在res中。 res = curl_easy_perform(curl); //最后一步,清除CURL指针,结束对CURL库的使用。 curl_easy_cleanup(curl); if (res == CURLE_OK) { strRetData = strHtml; CCLOG("Http get string, conn: %s, ret: %s", strConnName.c_str(), strRetData.c_str()); } else { //request error } strRetData = ""; CC_SAFE_DELETE(curl);
0 0
- cocos2d-x中的curl
- cocos2d-x 中的使用CURL
- cocos2d-x 网络编程Curl
- cocos2d-x 网络编程Curl
- Cocos2d-x cURL简单示例demo
- cocos2d-X 节点(curl.h)API
- cocos2d-x 引擎: 通过curl操作cookie
- cocos2d-x 脚本动态更新,curl断点续传
- cocos2d-x使用curl获取文件大小
- cocos2d-x中的随机数
- Cocos2d-x 中的字体
- cocos2d-x中的随机数
- cocos2d-x中的CCArray
- cocos2d-x 中的 CCSprite
- cocos2d-x中的CCArray
- cocos2d-x 中的CCTileMap
- Cocos2d-x中的字符串
- cocos2d-x中的坐标系
- 操作系统MMU简单分析
- ld: 1 duplicate symbol for architecture i386 clang: error: linker command failed with exit code 1
- uml之包图
- 关于JavaScript学习过程中的一些需要注意的点~~~
- oracle相关问题
- cocos2d-x中的curl
- JavaScript线程理解
- returned 1 exit status
- Eclipse May be locked by another process错误解决
- 如何预防病毒2
- java.lang.reflect 类 Method
- 软件项目管理的一些感想
- 手把手教你把Vim改装成一个IDE编程环境(图文)
- hadoop学习-海量日志分析(二) HBase