一憔维,后端的實(shí)現(xiàn)
后端安裝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("關(guān)閉連接");
})
conn.on("error", function (code, reason) {
console.log("異常關(guān)閉");
});
}).listen(8183);
至此慈缔,我們實(shí)現(xiàn)了在8183端口上的socket服務(wù)器功能叮称。
二,前端的實(shí)現(xiàn)
Cocos Creator中藐鹤,支持 Web 平臺(tái)上最廣泛使用的標(biāo)準(zhǔn)網(wǎng)絡(luò)接口:
- XMLHttpRequest:用于短連接
- WebSocket:用于長(zhǎng)連接
在assets/Script/net目錄下新建socket.js瓤檐,輸入以下代碼:
var socket = cc.Class({
ctor: function() {
var ws = new WebSocket('ws://127.0.0.1:8183/');
// 發(fā)起連接
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;
三,測(cè)試
在HelloWorld.js中引入模塊:
var socket = require('socket');
在onLoad函數(shù)中加入以下一行代碼:
var s = new socket();
即可測(cè)試前端和后端的連接娱节。