Javascript 如何通过websocket将我的客户机连接到服务器,而服务器连接到另一台服务器
我不熟悉使用WebSocket,我正在尝试使用Javascript 如何通过websocket将我的客户机连接到服务器,而服务器连接到另一台服务器,javascript,node.js,websocket,Javascript,Node.js,Websocket,我不熟悉使用WebSocket,我正在尝试使用ws包执行以下操作: 客户端服务器X服务器Y 客户机通过websocket连接到服务器X——这是我的服务器。客户端向服务器X发送初始数据段 只有在从客户机接收数据之后,服务器X才需要通过websocket连接到服务器Y(第三方服务器) 然后,服务器X侦听从服务器Y发送的新数据 当从Y发送新数据时,服务器X需要进行一些修改,然后将修改后的数据发送回客户端 另外,我的连接工作正常: const WebSocket = require('ws'); //
ws
包执行以下操作:
客户端服务器X服务器Y
const WebSocket = require('ws');
//connection between client and server X
const wss = new WebSocket.Server({ port: 5000 });
wss.on('connection', function connection(ws) {
ws.on('message', function incoming(message) {
console.log(message);
});
});
// connection to server Y, but this needs to happen AFTER client sends a message to server X
const ws = new WebSocket(
'ws://someurl/',
[],
{
headers: {
// data from client needs to go here
}
}
);
ws.on('message', function incoming(message) {
const modifiedData = doSomething(message)
// I need to send modifiedData to the client
});
我只是不确定如何将这两件事联系起来,我想知道这样做的好方法是什么。非常感谢任何帮助。关于第2点:用户发送数据后,为什么需要连接到服务器Y?已经有一个开放的连接不是更有意义吗?否则,下一个连接的用户是否会创建到服务器Y的新连接?那之后的下一个呢?我建议在X和Y之间始终保持一个开放的连接,其中,服务器X只起到中间件层的作用(这意味着它在传递数据之前拦截和修改数据)。