cocos2dx CCHttpclient与java后台通信
来源:互联网 发布:linux eagle 编辑:程序博客网 时间:2024/05/17 01:18
一,本次测试的后台是用java的springmvc框架写的。
二,CChttpClient在下载的cocos2dx的包中有现成的例子。
三,cocos2dx带的cchttpclient例子在Testcpp/ExtentionsTest/NetworkTest下面。
我写的代码如下:
HttpUtils.h类,这个类名是自己定义的。
#ifndef __HTTP_UTILS__#define __HTTP_UTILS__#include "cocos2d.h"#include "cocos-ext.h"#include <string>using namespace cocos2d;using namespace std;using namespace cocos2d::extension;class HttpUtils :public CCNode{public:HttpUtils();~HttpUtils();void sendData(string* data);void onHttpRequestCompleted(CCHttpClient *sender, CCHttpResponse *response);string getData();public:
//后台返回的字符串,,这里必须声明成static类弄的,要不然在回调函数结束了,这个值就不存在了static string m_data;};#endif // !__HTTP_UTILS__
HttpUtil.h的实现类,HttpUtils.cpp
#include "HttpUtils.h"HttpUtils::HttpUtils(){}
//初始化数据string HttpUtils::m_data = "";HttpUtils::~HttpUtils(){}string HttpUtils::getData(){return m_data;}
//向服务器发送数据void HttpUtils::sendData(string* data){CCHttpRequest* request = new CCHttpRequest();request->setUrl("http://localhost:8080/GameTechnology/user/cocos2dTest");request->setRequestType(CCHttpRequest::kHttpPost);request->setRequestData(data->c_str(),data->length());request->setResponseCallback(this, httpresponse_selector(HttpUtils::onHttpRequestCompleted));request->setTag("GET test1");CCHttpClient::getInstance()->send(request);request->release();}
//http请求的回周函数,用于接收服务器传来的数据void HttpUtils::onHttpRequestCompleted(CCHttpClient *sender, CCHttpResponse *response){if (!response){return;}// You can get original request type from: response->request->reqTypeif (0 != strlen(response->getHttpRequest()->getTag())) {CCLog("%s completed", response->getHttpRequest()->getTag());}int statusCode = response->getResponseCode();char statusString[1024] = {};sprintf(statusString, "HTTP Status Code: %d, tag = %s", statusCode, response->getHttpRequest()->getTag());CCLog("response code: %d", statusCode);if (!response->isSucceed()) {CCLog("response failed");CCLog("error buffer: %s", response->getErrorBuffer());return;}std::vector<char> *buffer = response->getResponseData();this->m_data = string(buffer->begin(),buffer->end());CCLog("sss:%s",m_data.c_str());}
0 0
- cocos2dx CCHttpclient与java后台通信
- flex通过BlazeDS与java后台通信
- Flex中HTTPService与java后台通信
- Flex中用RemoteObject与java后台通信
- iOS客户端 与JAVA 后台http通信
- 微信小程序与Java后台的通信
- cocos2dx-lua编程之c++与lua通信,c++与java通信
- flex4 与后台服务器通信方式:URLRequest+URLLoader JAVA方式
- JSP前台是js,与Java后台通信
- Java后台与js前端之间的通信问题
- ExtJS与 JSON 后台通信
- Unity客户端与后台通信
- 利用webservice与后台通信
- Cocos2d-X中使用CCHttpClient实现网络通信
- Cocos2d-X中使用CCHttpClient实现网络通信
- cocos2dx 与java配合
- cocos2dx与mina通信粘包问题
- flashas3教程之与后台通信(网摘)
- Linux的引导分析(分区表与stage1)
- Oracle游标使用大全
- 探讨刀塔传奇是怎么防止客户端作弊的
- 打鱼机遥控器
- define宏的用法
- cocos2dx CCHttpclient与java后台通信
- surfaceView+mediaplayer+seekBar+自定义视频时间监控
- hdu3265(线段树求矩形面积并)
- java调用输入参数、输出参数、输出参数为列表的存储过程(一)
- Google Code Jam_预赛
- HTML5性能分析面面观
- Oracle的 Cursor(一)
- 使用servlet Filter校验登录信息
- 函数栈溢出引起的段错误segmentation fault