Node.js websocket服务器中未定义客户端

Node.js websocket服务器中未定义客户端,node.js,websocket,Node.js,Websocket,当我在console logconsole.log(client${client})中打印客户端时它显示未定义。 我想我应该在客户端代码中做些什么,但不知道该做什么 服务器代码- const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8080 }); wss.on('connection', function connection(ws, request, client) { console.lo

当我在console log
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);
客户端代码-

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

ws
不支持
客户端
开箱即用

见:


其要点是,您需要使用HTTP服务器来侦听任何连接(而不是使用
ws
来侦听),并且“手动”发出带有附加数据的
connection
事件(如客户端).

你能给我举个身份验证的例子吗?事实上,我不知道如何从客户端发送任何密钥或东西进行身份验证。我想我把你弄丢了。你能详细说明一下
。。。从客户端到身份验证
部分让我感到困惑。你说的
client
到底是什么意思?在示例中,
authenticate
只是从
请求中提取标识符的内部逻辑(如基于身份验证、JWT等)我想知道如何将这些标识符放入客户机请求中,以便在websocket服务器中提取它。实际上,我是这方面的新手。关于最初的问题,我们有点离题了。我强烈建议您研究
JWT
Websocket身份验证
。网络上有很多例子,这里的评论是传达它的一个挑战:)。如果你发现自己仍在苦苦挣扎,请发布另一个问题(在此处发布新问题的链接,然后我将能够跟进)