node.js作为单纯的websocket的server端,来完成java的springMVC框架中前端的消息推送,
用的是socket.io框架,之前java用netty-socket写的server,可以推送。但是用node.js写了server之后,握手不成功。例子用的就是官网的...
用的是socket.io 框架,之前java用netty-socket写的server,可以推送。但是用node.js写了server之后,握手不成功。例子用的就是官网的
展开
1个回答
展开全部
用node.js安装WebSocket库:
npm install ws
然后建立server:
var WebSocketServer = require('ws').Server
, wss = new WebSocketServer({port: 8080});
wss.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('received: %s', message);
});
ws.send('something');
});
客户端用HTML5标准:
var ws = new WebSocket("ws://127.0.0.1:8080/");
ws.onopen = function() {
alert("Opened");
ws.send("I'm client");
};
ws.onmessage = function (evt) {
alert(evt.data);
};
ws.onclose = function() {
alert("Closed");
};
ws.onerror = function(err) {
alert("Error: " + err);
};
更多追问追答
追问
我的问题解决了,是client端和server端的socket.io.js文件不一致导致的。你说用websocket这个模块做应该也是可以的,但是怎么取舍websocket和socket.io 我还不太了解
追答
socket.io我没用过。不过,不管黑猫白猫,能抓老鼠的就是好猫 :)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询