Здравствуйте, делаю чат с помощью socket.io. Решил некоторые проблемы из предыдущих вопросов,
но появилась новая проблема.
- Запускаю сервер и пишу сообщение в чат — всё хорошо, сообщение отправляется.
- Обновляю страницу и вновь пишу сообщение — отправляется сразу 2 сообщения.
И так далее, сколько раз обновляешь страницу — столько раз повторяется сообщение.
Мой код:
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 человека, написавшего сообщение.