Cocos2dx WebSocket的使用
2016-03-10 23:00
351 查看
Cocos2dx封装了WebSocket,可以直接在项目中使用
废话不多说,直接上代码
就这么简单!
废话不多说,直接上代码
//HelloWorldScene.h #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" #include "cocostudio/CocoStudio.h" #include "ui/CocosGUI.h" #include "network/WebSocket.h" //WebSocket头文件路径 USING_NS_CC; using namespace cocostudio::timeline; using namespace cocos2d::network;//WebSocket名称空间 using namespace cocos2d::ui; class HelloWorld : public cocos2d::Layer, public WebSocket::Delegate //WebSocket委托 { public: // there's no 'id' in cpp, so we recommend returning the class instance pointer static cocos2d::Scene* createScene(); // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone virtual bool init(); // implement the "static create()" method manually CREATE_FUNC(HelloWorld); private: //这些虚函数WebSocket的回调 virtual void onOpen(WebSocket* ws); virtual void onMessage(WebSocket* ws, const WebSocket::Data& data); virtual void onClose(WebSocket* ws); virtual void onError(WebSocket* ws, const WebSocket::ErrorCode& error); private: //WebSocket实例化 WebSocket* m_pWebSocket; }; #endif // __HELLOWORLD_SCENE_H__
//HelloWorldScene.h.cpp init函数 m_pWebSocket = new WebSocket(); m_pWebSocket->init(*this, "ws://localhost:1234");//实例化WebSocket并连接
/HelloWorldScene.h.cpp void HelloWorld::onOpen(WebSocket * ws) { CCLOG("OnOpen"); } void HelloWorld::onMessage(WebSocket * ws, const WebSocket::Data & data) { std::string textStr = data.bytes; CCLOG(textStr.c_str()); } void HelloWorld::onClose(WebSocket * ws) { if (ws == m_pWebSocket) { m_pWebSocket = NULL; } CC_SAFE_DELETE(ws); CCLOG("onClose"); } void HelloWorld::onError(WebSocket * ws, const WebSocket::ErrorCode & error) { if (ws == m_pWebSocket) { char buf[100] = { 0 }; sprintf(buf, "an error was fired, code: %d", error); } CCLOG("Error was fired, error code: %d", error); }
就这么简单!
相关文章推荐
- COCOS学习笔记--Menu菜单系统
- cocos2d-x编译问题集合之error C2440: “类型转换”: 无法从“void (__thiscall ::* )(void)”转换为“
- cocos2d-x之物理引擎之碰撞监测
- cocos2d-x之物理引擎初试
- 2dx 算两个点之间的角度
- 2dx 改变动画 ac32 速率
- cocos2dx ListView 动态加载(代码)
- cocos2d-x v3.2 FlappyBird 各个类对象详细代码分析(7)
- cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染
- 15、Cocos2dx 3.0游戏开发找小三之Sprite:每一个精灵都是上辈子折翼的天使
- cocos2d-x 3.10 安卓 屏幕适配
- cocos2d-x之猜数字游戏
- 纹理缓存TextureCache-Cocos2dx
- cocos2dx TabelView 表格视图
- cocos2dx Menu 菜单
- cocos2dx 触摸事件
- cocos2dx LabelTTF 标签
- 骨骼动画详解-Spine
- cocos2d-x之加法计算器
- cocos2dx 无法打开包含文件extensions/ExtensionExport.h