转自: http://blog.csdn.net/a19352226/article/details/50850845
Cocos2dx封装了WebSocket,可以直接在项目中使用
废话不多说,直接上代码
-
- #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;
- usingnamespacecocostudio::timeline;
- namespacecocos2d::network;
- namespacecocos2d::ui;
- classHelloWorld:publiccocos2d::Layer,publicWebSocket::Delegate
- {
- public:
-
- staticcocos2d::Scene*createScene();
- //Here'sadifference.Method'init'incocos2d-xreturnsbool,insteadofreturning'id'incocos2d-iphone
- virtualboolinit();
- //implementthe"staticcreate()"methodmanually
- CREATE_FUNC(HelloWorld);
- private:
- //这些虚函数WebSocket的回调
- virtualvoidonOpen(WebSocket*ws);
- voidonMessage(WebSocket*ws,153); background-color:inherit; font-weight:bold">constWebSocket::Data&data);
- voidonClose(WebSocket*ws);
- voidonError(WebSocket*ws,153); background-color:inherit; font-weight:bold">constWebSocket::ErrorCode&error);
- //WebSocket实例化
- WebSocket*m_pWebSocket;
- };
- #endif//__HELLOWORLD_SCENE_H__
copy
//HelloWorldScene.h.cppinit函数
m_pWebSocket=newWebSocket();
m_pWebSocket->init(*this,"ws://localhost:1234");//实例化WebSocket并连接
copy
/HelloWorldScene.h.cpp
voidHelloWorld::onOpen(WebSocket*ws)
{
CCLOG("OnOpen");
}
voidHelloWorld::onMessage(WebSocket*ws,153); background-color:inherit; font-weight:bold">constWebSocket::Data&data)
std::stringtextStr=data.bytes;
CCLOG(textStr.c_str());
voidHelloWorld::onClose(WebSocket*ws)
if(ws==m_pWebSocket)
m_pWebSocket=NULL;
}
CC_SAFE_DELETE(ws);
CCLOG("onClose");
voidHelloWorld::onError(WebSocket*ws,153); background-color:inherit; font-weight:bold">constWebSocket::ErrorCode&error)
charbuf[100]={0};
sprintf(buf,"anerrorwasfired,code:%d",error);
CCLOG("Errorwasfired,errorcode:%d",108); list-style-type:decimal-leading-zero; color:inherit; line-height:18px; margin:0px!important; padding:0px 3px 0px 10px!important; list-style-position:outside!important"> }
就这么简单! (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|