cocos creator学习(十四) websocket、onfire

来源:互联网 发布:linux设置静态ip不生效 编辑:程序博客网 时间:2024/06/06 19:23

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,在原生环境会出现一些问题。

hasOwnKey=function(obj,eventName) {
returnobj.hasOwnProperty(eventName);
},
slice=function(argu,index) {
return [].slice.call(argu,index);
};

网上说把这两句换成上面这就可以了。

(4)