开发者问题收集

客户端在 websocket 服务器中未定义

2020-05-11
2453

当我在控制台日志中打印客户端 console.log( client ${client}); 时,它显示未定义。 我认为我应该在客户端代码中做一些事情,但不知道做什么。

服务器代码-

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });

wss.on('connection', function connection(ws, request, client) {
  console.log(`client ${client}`);
  ws.on('message', function message(msg) {
    console.log(`Received message ${msg}`);
  });
});

客户端代码-

const Websocket = require('ws');
const ws = new Websocket('ws://localhost:8081');

function noop() {}

ws.on("message", function(event){
  console.log(event);
});


const ping = function() {
  ws.ping(noop);
}

setInterval(ping, 30000);
1个回答

ws 不支持 client 从包装框出去。

请参阅: https://www.npmjs.com/package/package/ws#client-authentication

的要点是您需要使用HTTP服务器来收听任何连接(不使用 ws 来收听)和“ 手册 ”发射 Connection> Connection 用其他数据(例如客户端)。

Daniel
2020-05-11