欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

nodejs+expressjs+ws实现了websocket即时通讯,服务器和客户端互相通信

程序员文章站 2022-04-09 18:01:31
nodejs代码 // 导入WebSocket模块: const WebSocket = require('ws'); // 引用Server类: const WebSocketServer = WebSocket.Server; // 实例化: const wss = new WebSocketS ......

nodejs代码

// 导入websocket模块:
const websocket = require('ws');

// 引用server类:
const websocketserver = websocket.server;

// 实例化:
const wss = new websocketserver({
  port: 3001
});
wss.on('connection', function (ws) {
  console.log(`ws 已经连接上`);
  ws.on('message', function (message) {

    console.log(`收到客户端的数据: ${message}`);
    ws.send(`服务端接收到数据,给客户端返回数据: ${message}`, (err) => {
      if (err) {
        console.log(`[server] error: ${err}`);
      }
    });
  })
});
2. html代码
      // 打开一个websocket:
      var ws = new websocket('ws://localhost:3001');
     
      // 响应onmessage事件:
      ws.onmessage = function (msg) { console.log(msg); };
     
      // 给服务器发送一个字符串:
      ws.addeventlistener('open', function () {
        let msg = '我是客户端: ' + location.href
          ws.send(msg)
      });
3. 当然  必须提前导入ws模块  npm i ws