如果用node.js 建立websocket 服务器,基本网上资料,都是用 socket.io ,用这种方法建立websocket 服务网上资料很多,
但用 socket.io 建立的 websocket 服务器,客户端也只能用 socket.io 包创建websocket 客户端,
如果客户端,用HTML5 原生 websocket 客户端,链接会报错 Connection closed before receiving a handshake response;
不幸的是,cocos-js 中 的 websocket 客户端,就不是用socket.io的,因此无法链接服务器,解决方案:
node.js 中 使用 var WebSocketServer = require(‘ws’).Server 方式建立 websocket 服务器;
var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({port: 8082});
wss.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('received: %s', message);
ws.send(message);
});
ws.send('something');
});
其中 ws 的安装:npm install -g ws
然后使用 安装好的 ws 库;这样的 WebSocketServer ,使用 cocos-js 里 js-test 中 websocket 样例,就可以链接成功