【发布时间】:2020-11-29 20:46:01
【问题描述】:
我正在尝试使用 socket.io 和 node.js 构建一个聊天应用程序,使用 socket.io 和 node.js 作为后端,flutter 用于前端......到目前为止,我一直在尝试向所有连接的用户发送消息,有没有办法将消息发送到特定用户?这是我的后端代码的一部分
io.on('connection', (socket) => {
console.log(`id: ${socket.id}`)
socket.on('send_message', (msg) => {
var detail = JSON.parse(msg)
socket.in(detail["receiver"]).emit('to_user', msg)
})
});
在颤振中我正在使用 socket_io_client 包 (https://pub.flutter-io.cn/packages/socket_io_client) 但我不知道如何为特定用户发出消息 这是前端代码的一部分
StreamController<String> _data = StreamController<String>();
socket.on('send_message', (x) {
_data.sink.add(x);
});
sendChat(String msg, String sender, String receiver) {
Map map = {"msg": msg, "snd": sender, "rcv": receiver};
var mapbody = json.encode(map);
socket.emit('send_message', mapbody);
}
Stream<String> get sendChat => _data.stream;
【问题讨论】:
标签: node.js flutter socket.io chat