cocos2dx获取网络时间(二):浅析CCHttpClient

来源:未知 责任编辑:责任编辑 发表时间:2015-03-01 01:33 点击:
新建一个c++类 ,命名为NetTime,继承自CCNode并重写init()方法。然后引入CCHttpClient和rapidjson需要的头文件。我们的需求是可以返回NetTime的年,月,日,小时,分和秒,分别定义它们的private字段和public方法: p> 

p> 

p> 

p> 1 #ifndef __NETTIME_H__

p> 2 #define __NETTIME_H__

p> 3 #include "cocos2d.h"

p> 4 #include "cocos-ext.h"

p> 5 #include "CocoStudio\Json\rapidjson\rapidjson.h"

p> 6 using namespace cocos2d;

p> 7 using namespace extension;

p> 8 using namespace rapidjson;

p> 9 

p>10 class NetTime:public CCNode

p>11 {

p>12 public:

p>13     CREATE_FUNC(NetTime);

p>14     int getYear(){

p>15         return _year;

p>16     };

p>17     int getMonth(){

p>18         return _month;

p>19     };

p>20     int getDay(){

p>21         return _day;

p>22     };

p>23     int getHour(){

p>24         return _hour;

p>25     };

p>26     int getMinute(){

p>27         return _minute;

p>28     };

p>29     int getSecond(){

p>30         return _second;

p>31     };

p>32     void getNetTime();

p>33     void requestNetTime();

p>34 private:

p>35     virtual bool init();

p>36     int _year, _month, _day, _hour, _minute, _second;

p>37     void onHttpComplete(CCHttpClient * sender, CCHttpResponse * response);

p>38     void readJson(std::string jsonStr);

p>39 };

p>40 #endif

p> 

p>  我们还需要一个requestNetTime方法来发起http请求,并在回调方法里面实现数据的获取和解析,直接把前面的代码拷贝过来即可:

p> 

p> 

p> 

p> 1 #include "NetTime.h"

p> 2 

p> 3 bool NetTime::init()

p> 4 {

p> 5     bool bRet = false;

p> 6     do

p> 7     {

p> 8         CC_BREAK_IF(!CCNode::init());

p> 9         

p>10         bRet = true;

p>11     } while (0);

p>12     return bRet;

p>13 }

p>14 

p>15 void NetTime::requestNetTime()

p>16 {

p>17     CCHttpRequest * request = new CCHttpRequest();

p>18     request->setUrl("http://115.159.3.250:1227/WebTime.svc/");

p>19     request->setRequestType(CCHttpRequest::kHttpGet);

p>20     request->setTag("WebTime");

p>21     request->setResponseCallback(this, httpresponse_selector(NetTime::onHttpComplete));

p>22     CCHttpClient::getInstance()->send(request);

p>23 }

p>24 

p>25 void NetTime::onHttpComplete(CCHttpClient * sender, CCHttpResponse * response)
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • cocos2d-x学习笔记(19)--label 、label atlas
  • cocos2d-x学习笔记(23)--地图的使用3--CCTMXLayer
  • Cocos2d-x 2.0 之 Actions “三板斧” 之一
  • Cocos2d-x学习(一):HelloWorld
  • cocos2d-x学习笔记(18)--游戏打包(windows平台)
  • cocos2d 设置屏幕默认方向
  •  Cocos2d-x初学指南(5): Tiled Map的使用(视角移动,碰撞检测)
  • cocos2d-x学习笔记(16)--spritesheet(精灵表单)
  • cocos2d-x学习笔记(15)--地图的使用(TMX)
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索 - 移动版 - 返回顶部
Copyright © 2008-2013 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1