EN
类别: 首页> Creator插件
skynet-sproto-js

skynet-sproto-js v1.0.0

类别:Creator插件

作者:antwand

要求:适用于Creator v2.2.0.0

分享到:
¥6.00 购买
简介
![skynet-sproto-js](res/skynet-sproto-js-logo.png)

# skynet-sproto-js for Cocos Creator

* Cocos Creator 编辑器扩展:在 Cocos Creator 中,用纯 js 脚本实现‘云凤’ skynet 中 sproto 的压包解包处理,达到在 Cocos Creator 中和 skynet sproto 无缝通讯。

* skynet 中 sproto,请参考 [sproto 协议](https://blog.codingnow.com/2014/07/sproto.html ) 文档。
* skynet ,请参考 [skyent](https://github.com/cloudwu/skynet ) 文档。

# 游戏中使用流程 #
# 代码调用 #
* 1:首先,要将服务器的 s2c 以及 c2s 的sproto文件,通过tool工具转化成js的 sproto 文件
* 2:吧第一步生成的js识别的 sproto 文件,放到 Cocos Creator 工程项目下的 resource 文件夹中 即可
* 3:完整测试代码在 请参考 [sproto 项目测试](https://github.com/antwand/skynet-sproto-js ) 文档。

```javascript

//引入 PROTOCAL_CORE 核心类
var PROTOCAL_CORE = require('PROTOCAL_CORE');

//1: 加载 spb 协议文件,
var newpath = "SPROTO/sproto";//路径在resource/SPROTO/sproto.spb
PROTOCAL_CORE.loadSproto(newpath,function(data){
console.log(" 加载spb 文件成功!! ")
});
//启动websocket
var cla = require('NetWebSocket')
var currentNet = new cla();
currentNet.prepareWebSocket("192.168.103.98","8303");
this._currentNet = currentNet;

//2:客户端主动发送数据
var param = {
platform: 'mocha',
game: 'test',
token: '123456',
};
this._currentNet.send("login",param,function(data){
})

//3:服务器主动推送消息给客户端
this._currentNet._webSocket.onmessage = function (event) {
var data = event.data;
//json格式
if(this._isJson == true) {
}else {//sproto 格式;
var _handleMessage_req = function(name,message){
}
var _handleMessage_rsp = function(sessionId, message){
}
PROTOCAL_CORE.getRecvPackage(data,_handleMessage_req,_handleMessage_rsp,self);
}
};
```

# 工具 tool 使用 #
* 1:安装 node
* 2:需要将skynet的lua版本转化为 Cocos Creator 识别的 sproto 文件
* 3:工具目录在 packages\skynet-sproto-js\tool 下,详见 请参考 [生成js版sproto工具 ](./tool/readme.md ) 文档。

# 问题 #
* 首先,要将服务器的 s2c 以及 c2s 的sproto文件,通过tool工具转化成js的 spb 文件
截图
用户评分
平均评分
共有0个用户评分
  • 0
  • 0
  • 0
  • 0
  • 0
评论
点击评分: