How to call the controller when I do emit in socket.io
I want that when calling emit from the client the data is first saved in the db and then sent to it.
My code:
import SocketIO from '@ioc:Socket.IO'
SocketIO.afterStart(() => {
const io = SocketIO.io()
io.use((socket, next) => {
//Middleware
next()
});
io.on('connection', (socket) => {
io.emit(`room.6`, {
type: 'connected'
//role: socket.handshake.query.user
});
socket.on('disconnect', () => {
io.emit(`room.6`, {
type: 'disconnected',
//role: socket.handshake.query.user
})
});
socket.on(`room.6`, (data) => {
io.emit(`room.6`, //Here the controller should be called)
});
});
})
question from:
https://stackoverflow.com/questions/66063454/how-to-use-the-controller-when-working-with-sockets-in-adonisjs 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…