1、使用websocket替换原本无法在原生平台使用的socket。
2、事件分发开源库onfire的使用
3、一些注意事项
1、使用websocket替换原本无法在原生平台使用的socket。
其实我已经用node.js搭建好了后台,却发现原生平台无法使用,总是直接调用disconnect,所以听从网上的建议选择了websocket。
对于websocket的使用比较害怕,因为,命名的名字也不一样。在网上找相关的资料也看的非常头疼,但是由于项目一直在逼,所以
选择了它。但是比想象之中好的太多。
首先对于使用websocket我有两个问题。
1、node.js是否可以完成它的后台编写(因为我只学了node.js的后台,暂时没学其它的)
2、如何做到socket的事件分发(socket.emit()这个方法)
确实只需要调用node.js的ws模块就可以实现。
var WebSocket=require('ws');
var http=require('http');
var express=require('express').;
var app=express();
var server=http.createServer(app);
var io=new WebSocket.Server({server})
io.on('connection',function(ws){
ws.on('message',function(data){
})
})
这就差不多完成了后台的使用。
2、onfire的使用。
https://github.com/hustcc/onfire.js这是开源地址
使用已经写的很清楚了。
通过onfire.fire('事件名','参数');我是把这个调用是写在了客户端的message里的,而事件和参数则是在服务器端一起以{}对象发过来,然后在message里取出来进行分发
通过onfire.on('对应的事件名',function(‘参数’){})来进行事件的处理
3、一些让人头疼的注意事项。
(1)如果是通过模拟器打开,一定要注意,有时候报错是因为你没有Ctrl+S的过,也就是没保存,即使是在浏览器中可以运行,模拟器中依旧报一堆错。
(2)如何要升级cocos creator,我建议还是要在哪生成的项目在那个cocos creator版本中打开。我在1.5.1版本上写的物理引擎,在1.6就会突然出现不响应的情况,我回退到1.5.1没有问题。
(3)在1.5.1版本中如果使用onfire,在原生环境会出现一些问题。
网上说把这两句换成上面这就可以了。
(4)