Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

155
Visualizações
socket.io connection works slowly

I am using 4.2.0 version of socket.io on client and server side. Server is on localhost 3000 and client on localhost 5000.

In first version of backend code everything works fine, I am getting a message on server and on the client immediately, this is a code which working fine: app is a constructor of Express Application.

import * as socketio from 'socket.io';
const io: socketio.Server = new socketio.Server({
    cors: {
        origin: "http://localhost:5000"
    }
});

const server: http.Server = app.listen(); // it knows that it should works on 3000
io.attach(server);

io.of('/play/multi-player-lobby').on('connection', (socket: socketio.Socket) => {
    socket.emit('messageFromServer', { data: "req.session.user!.login" });
    socket.on('dataToServer', (dataFromClient: object) => {
        console.log(dataFromClient)
    });
});

But this version of code has a downside, I cannot pass to client side user data which is logged in, thats why I want to use io in a get Route like in second version of my code:

Server file

const server: http.Server = app.listen();
io.attach(server);

app.app.set('socketio', io);

And route file:

getMethod(req: Request, res: Response) {
    var io = req.app.get('socketio');
    io.of('/play/multi-player-lobby').on('connection', (socket: socketio.Socket) => {
        socket.emit('messageFromServer', { data: req.session.user!.login });
        socket.on('dataToServer', (dataFromClient: object) => {
            console.log(dataFromClient)
        });
    });
    
    res.json({ isLoggedIn: req.session.isLoggedIn, user: req.session.user })
}

This version of code is also working, but I get the data after 30 seconds! Why? How to fix that?

Thanks for a help. Best regards from Misugi ;)

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda