WebSocket 实现前后端通信

WebSocket

WebSocket 是HTML5 提出的一种新协议,支持客户端与服务端之间的全双工通信,且不受同源策略的影响,以标识符ws进行标记.

客户端

Websocket 使用new 进行构造,传入需要进行的通信地址,协议名为ws,例如:ws://locahost:3001/msg

  let ws=new WebSocket('ws://localhost:3001/msg');
  ws.onopen=function(){
    console.log('open success!');
    ws.send("这是来自客户端的消息");
  
  }
  ws.onmessage=function(ev){
    console.log(`从服务器接受数据:${ev.data}`);
 
    ws.close()
  }
  ws.onclose=function(){
    console.log('关闭websocket');
  }
  ws.onerror=function(){
    console.log('发生错误');
  }

服务端

这里的服务端使用node,引入ws模块

const ws=require('ws');
//创建服务器,传入端口域名
let wsServer=new ws.Server({
    host:'127.0.0.1',
    port:3001
});
//回调接收websoket文本
wsServer.on('connection',function(wsObj){

    wsObj.onmessage=function(ev){
        
        console.log(`这是来自客户端的消息:${ev.data}`);
        wsObj.send('这是来自服务端的消息');
        wsObj.close()
    }
    wsObj.onclose=function(){
        console.log('服务端关闭');
    }
    wsObj.onerror=function(err){console.log(err)}
})

你可能感兴趣的:(前端文章)