大佬教程收集整理的这篇文章主要介绍了Cocos2d-x 3.x如何通过WebSocket连接服务器进行数据传输,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
WebSocket
首先新建一个空的文件夹,通过npm安装nodejs-websocket:
1
|
npminstallnodejs-websocket
|
新建app.js文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
})
});
});
}).listen(8001);
|
通过node app.js启动,这样服务器就搭建好了。
Cocos2d-x
首先在头文件中include头文件:
1
|
#include"network/WebSocket.h"
|
实现WebSocket的委托:
1
|
四个委托中定义的函数接口以及一个用来连接的socketClient对象:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
//forvirtualfunctioninwebsocketdelegate
virtual
void
onmessage(cocos2d::network::WebSocket*ws,
const
cocos2d::network::WebSocket::Data&data);
virtual
void
onError(cocos2d::network::WebSocket*ws,
const
cocos2d::network::WebSocket::ErrorCode&error);
//thewebsocketioclient
cocos2d::network::WebSocket*_wsiClient;
初始化client:
在cpp文件中实现这些函数:
//开始socket连接
void
HelloWorld::onOpen(cocos2d::network::WebSocket*ws)
}
//接收到了消息
void
HelloWorld::onmessage(cocos2d::network::WebSocket*ws,
const
cocos2d::network::WebSocket::Data&data)
textStr.c_str();
CCLOG(textStr.c_str());
}
//连接关闭
void
HelloWorld::onClose(cocos2d::network::WebSocket*ws)
if
(ws==_wsiClient)
_wsiClient=NULL;
}
}
//遇到错误
void
HelloWorld::onError(cocos2d::network::WebSocket*ws,
const
cocos2d::network::WebSocket::ErrorCode&error)
if
(ws==_wsiClient)
}
}
|
还有一个使用SocketIO的方案(本文作者只提供了源码,但是尚未测试,您可以与作者一起测试,并可以提供反馈):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
//Starttheserveratport8080
//SendHTMLheadersandmessage
});
server.listen(8080);
//CreateaSocket.IOinstance,passingitourserver
varsocket=io.listen(server);
//Addaconnectlistener
},5000);
});
clearInterval(interval);
});
});
|
以上是大佬教程为你收集整理的Cocos2d-x 3.x如何通过WebSocket连接服务器进行数据传输全部内容,希望文章能够帮你解决Cocos2d-x 3.x如何通过WebSocket连接服务器进行数据传输所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。