node.js作为单纯的websocket的server端,来完成java的springMVC框架中前端的消息推送,

用的是socket.io框架,之前java用netty-socket写的server,可以推送。但是用node.js写了server之后,握手不成功。例子用的就是官网的... 用的是socket.io 框架,之前java用netty-socket写的server,可以推送。但是用node.js写了server之后,握手不成功。例子用的就是官网的 展开
 我来答
百度网友f036095c5
推荐于2016-01-25 · TA获得超过1234个赞
知道小有建树答主
回答量:729
采纳率:83%
帮助的人:638万
展开全部

用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我没用过。不过,不管黑猫白猫,能抓老鼠的就是好猫 :)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式