I have used method socket.on
and io.emit
for request and response respectively.Currently I have facing issue that I got response to all users.
I want to just notify for particular user. But when i asked above question on stackoverflow, someone asked me to follow this link. But in above link, It is mentioned that, we need a user Id, which i can get when user login to our app. Please have a look at my server.js and router.js file code.
router.js
const express = require('express');
const router = express.Router();
const passport = require('passport');
const userController = require('../controllers/user');
router.route('/auth/login')
.post(
userController.login
);
router.route('/users')
.get(
passport.authenticate('jwt', { session: false }),
userController.getUsers
);
module.exports = router;
server.js
const express = require('express');
const router = require('./router');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(PORT, () => {
console.log(`\tListening on port ${PORT}!`);
});
app.io = io;
app.use('/api', router);
Note: Can anyone please tell me now, How to emit event for a particular user, if i have registration and login to my app.