Stack Overflow на русском Asked on December 1, 2020
делаю чат с помощью socket.io.Но появилась одна проблема.
И так далее, сколько раз обновляешь страницу — столько раз повторяется сообщение.
Мой код:
app.get('/index', async (req, res) => {
res.sendFile(path.join(__dirname, './HTML', 'index.html'))
io.on('connection', socket => {
socket.on('Отправить сообщение', (data) => {
io.emit('Добавить сообщение', {
msg: data,
login: req.session.user.login
})
})
})
})
Проблема: Как я понял, косяк в том, что при каждом GET запросе сокет дублируется,
но я не могу писать Socket-код не в GET запросе, потому что тогда у меня не будет доступа к request,
а он нужен мне для того, чтобы отправить login человека, написавшего сообщение.
Все-таки вынеси код, связанный с сокетами, из блока app.get. А проблему со связыванием сокет айди и логином можно решить иначе. Например, заведи объект, в котором храни айдишники и логины как ключи и значения.
Answered by Михаил Волобуев on December 1, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP