【Cocos Creator 联机实战教程(1)】——初识Socket.io

lili

发布日期: 2018-12-06 15:02:34 浏览量: 2233
评分:
star star star star star star star star star star
*转载请注明来自write-bug.com

1.Socket.io简介

Socket.io是一个实时通信的跨平台的框架

1.1 websocket 和 socket.io 之间的区别是什么

socket.io封装了websocket,同时包含了其它的连接方式,比如Ajax。原因在于不是所有的浏览器都支持websocket,通过socket.io的封装,你不用关心里面用了什么连接方式。你在任何浏览器里都可以使用socket.io来建立异步的连接。socket.io包含了服务端和客户端的库,如果在浏览器中使用了socket.io的js,服务端也必须同样适用。如果你很清楚你需要的就是websocket,那可以直接使用websocket。

2. 服务器端Windows安装Node.js Express Socket.io

2.1 下载Node.js

官网下载最新版http://nodejs.cn/

2.2 打开cmd

2.2.1 下载Express

npm install -g express

2.2.2 下载Socket.io

npm install -g socket.io

3. Creator与服务器通信测试

3.1 测试场景

3.2 客户端脚本

我是挂载在Canvas上,也可以选择直接挂载在Label上。

  1. onLoad: function () {
  2. let self = this;
  3. if (cc.sys.isNative) {
  4. window.io = SocketIO.connect;
  5. } else {
  6. require('socket.io');
  7. }
  8. var socket = io('IP:端口');
  9. socket.on('hello', function (msg) {
  10. self.label.string = msg;
  11. });
  12. },

记得下载socket.io并导入为插件

3.3 服务器脚本(任意位置存放)

  1. let app = require('express')();
  2. let server = require('http').Server(app);
  3. let io =require('socket.io')(server);
  4. server.listen(4747,function(){
  5. console.log('listening on:端口');
  6. });
  7. io.on ('connection',function(socket){
  8. console.log('someone connected');
  9. socket.emit('hello','success');
  10. });

在服务端脚本存放的位置打开cmd

输入

npm link express

输入

npm link socket.io

输入

node test-server.js

4. 总结

不同的环境配置网络连接不同,要善于抓包发现问题。

不过也从侧面看出cocos creator不是很适合做联网游戏,调试是真的恶心。

本教程部分素材来源于网络。

附上监听小程序,测试网络。

上传的附件 cloud_download cocos联网一.zip ( 1.29mb, 16次下载 )
eject