Node.js 如何在nodejs websocket上指定消息目的地?
我想将消息从nodejs后端发送到指定的websocket通道。因此,我想实现/使用类似于spring SimpMessageTemplate的功能 我试图用实现这一点,但只有两个参数:message&callback,我无法指定消息目的地。下面是一个来自后端代码的简单示例:Node.js 如何在nodejs websocket上指定消息目的地?,node.js,websocket,message,ws,Node.js,Websocket,Message,Ws,我想将消息从nodejs后端发送到指定的websocket通道。因此,我想实现/使用类似于spring SimpMessageTemplate的功能 我试图用实现这一点,但只有两个参数:message&callback,我无法指定消息目的地。下面是一个来自后端代码的简单示例: const wss = new WebSocket.Server({ port: 8081, server: app, path: '/ws', /*...*/ }); /*...*/ ws
const wss = new WebSocket.Server({
port: 8081,
server: app,
path: '/ws',
/*...*/
});
/*...*/
wss.send(`chat-room/${roomId}`, JSON.stringify(message)); // I want to this
下面是一个简单的前端代码,它运行良好:
/*...*/
this.rxStomp.configure({
brokerURL: 'ws://localhost:8081/ws',
/*...*/
});
this.rxStomp.activate();
/*...*/
return this.rxStomp.watch(`chat-room/${roomId}`);
所以我的问题是:是否可以在nodejs上使用ws或其他lib指定消息目的地?如果是,那么如何使用?我没有使用“转换并发送”或“Web套接字”模块(我个人使用Socket.io),但概念应该是相同的 基本流程是
socket.emit('joinRoom',roomID,otherparams)
socket.on('joinRoom',(roomID,otherparams)=>{
//perform action, eg. query DB for room chats etc
// once action is done, emit back to user
socket.in(roomID).emit(data)
})
你的应用程序将以这种方式继续,发出和在事件中。这是基本流程,可用于1对1聊天、群聊等我忘了提到我也尝试了socket.io,应该很好,但客户端无法连接到socket.io websocket。我总是在建立连接之前关闭连接,并且出现错误尝试了几种解决方案来解决这个问题,但没有任何效果。