IDONTSUDO
@IDONTSUDO
ЧСВ программистов идет в комплекте с первой IDE.

Когда соеденение закрывается как передать данные об этом событии на бэк?

Есть такой фронт.

var ws = new WebSocket('ws:localhost:4041/echo');


export const testSoket = () => {
  let userid = isAuthenticated()._id
  ws.onmessage = function(e){ console.log(e.data); };
  ws.onopen = () => ws.send("1");
  ws.onclose = () => ws.send("2");
}


И такой бэк на ноде.
const express = require('express')
const enableWs = require('express-ws')
let port = 4041
const app = express()
enableWs(app)

app.ws('/echo', (ws, req) => {
    // console.log(ws)
    ws.on('message', msg => {
        console.log(msg)
        ws.send(msg)
    })
    ws.on('onclose',msg  => {
        console.log('WebSocket was closed',msg)
    })
})
app.listen(port, () => console.log(`Server listening on port ws:localhost:${port}!`))


Я не понимаю, тут проблема в коде или я делаю то чего нет в функционале?
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
IDONTSUDO
@IDONTSUDO Автор вопроса
ЧСВ программистов идет в комплекте с первой IDE.
Строка с фронта которая присоединяет JWT токен к хедерам.

var ws = new WebSocket('ws:localhost:4041/echo',`${jwt}`)

ws.id = req.headers['sec-websocket-key'];
айди сокета, по которому можно распознать подключение
ws.jwt = req.headers['sec-websocket-protocol']
токен jwt

для того что бы распознать насколько значение уникально этих данных достаточно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы