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}!`))


Я не понимаю, тут проблема в коде или я делаю то чего нет в функционале?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 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

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

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

Войти через центр авторизации
Похожие вопросы