My socket event don't trigger when I am emit it in Nodejs

Viewed 28

My socket event doesn't trigger when I emit it in Nodejs, I know it because I don't see "Pizza" in my console.

This is my code:

const express = require("express");
const cors = require("cors");
const app = express();
const http = require('http');
const server = http.createServer(app);
const { Server } = require("socket.io");
const io = new Server(server, {
});
app.use((req, res, next) => {
    req.io = io;
    next()
})

app.use(cors());

io.on('connection', (socket) => {
    socket.on("dummy_event", (data) => {
        console.log(`Socket `); // I don't see this message in my console
        if(!data.name) return;
    })
});

app.get("/socket_test", (req, res) => {
    req.io.emit("dummy_event", {name: "pizza"})
    return res.json({data: 'dummy text'})
})

server.listen(4000, () => {
    console.log(`Server Started on Port 4000`);
})
0 Answers
Related