基于Node.js和Cocos Creator的开发 -实现So
2018-09-12 本文已影响0人
Woodlouse
一,后端的实现
后端安装nodejs-websocket模块,在命令行中输入以下命令:
npm install nodejs-websocket
即可完成nodejs-websocket的安装。
在httpServer.js中输入以下代码:
var ws = require('nodejs-websocket');
var server = ws.createServer(function (conn) {
//处理消息
conn.on('text', function (str) {
conn.sendText('from server..');
})
conn.on("close", function (code, reason) {
console.log("关闭连接");
})
conn.on("error", function (code, reason) {
console.log("异常关闭");
});
}).listen(8183);
至此,我们实现了在8183端口上的socket服务器功能。
二,前端的实现
Cocos Creator中,支持 Web 平台上最广泛使用的标准网络接口:
- XMLHttpRequest:用于短连接
- WebSocket:用于长连接
在assets/Script/net目录下新建socket.js,输入以下代码:
var socket = cc.Class({
ctor: function() {
var ws = new WebSocket('ws://127.0.0.1:8183/');
// 发起连接
ws.onopen = function (event) {
console.log("ws test 000 Send Text WS was opened.");
ws.send('send text to server ...');
};
ws.onmessage = function (event) {
console.log("ws test 001 response text msg: " + event.data);
};
ws.onerror = function (event) {
console.log("ws test 002 Send Text fired an error");
};
ws.onclose = function (event) {
console.log("ws test 003 WebSocket instance closed.");
};
this._ws = ws;
}
});
module.exports = socket;
三,测试
在HelloWorld.js中引入模块:
var socket = require('socket');
在onLoad函数中加入以下一行代码:
var s = new socket();
即可测试前端和后端的连接。
上一篇 实现用户登录