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)}
})