From b5513e4eaee14237b0d3736fde2c608b099e4263 Mon Sep 17 00:00:00 2001 From: adb Date: Tue, 3 Nov 2020 19:26:01 +0100 Subject: [PATCH] WebSocket JSON --- api.js | 14 ++++-- src/App.vue | 89 +++++++++++++---------------------- src/components/newMessage.vue | 14 ++++-- src/main.js | 56 ++++++++++++++++++++++ 4 files changed, 108 insertions(+), 65 deletions(-) diff --git a/api.js b/api.js index 13ce322..a001add 100644 --- a/api.js +++ b/api.js @@ -23,9 +23,15 @@ const wss = new ws.Server({ //WS handler wss.on('connection', (ws, req) => { console.log(`${req.socket.remoteAddress} connected`) - ws.on('message', msg => { - console.log(`${req.socket.remoteAddress} => ${msg}`) - if (msg.split(';', 2)[0] === 'message') wss.clients.forEach(clients => clients.send(msg)) + ws.on('message', msgJSON => { + let msg = JSON.parse(msgJSON) + console.log(`${req.socket.remoteAddress} => ${msgJSON}`) + if (msg.type === 'message') wss.clients.forEach(client => client.send(msgJSON)) }) - ws.send('websocket connected') + let msg = { + type: "info", + time: Date.now(), + content: "connected" + } + ws.send(JSON.stringify(msg)) }) \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index 800133d..23a4627 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,33 +1,33 @@ @@ -47,36 +47,6 @@ export default { error } } - -const wsurl = 'ws://127.0.0.1:8090' -const socket = new WebSocket(wsurl) -function element(id){ return document.getElementById(id)} - -socket.onopen = () => { - socket.send('new session') -} -socket.onerror = (error) => { - console.log(`WebSocket error: ${error}`) -} -socket.onclose = () => show_error('session timed out (refresh)') -socket.onmessage = (e) => { - console.log(e.data) - let msg = e.data.split(";", 2) - if (msg[0] === 'error') show_error(msg[1]) - else if (msg[0] === 'message'); -} - -function show_error(msg) { - let error_style = element('errorBox').style - element('errorMessage').innerText = msg - error_style.display = "block" - error_style.animation = "slide-from-left alternate 0.2s" - setTimeout(() => {error_style.animation = ""}, 200) -} - -/*function sendMessage(msg, user){ - socket.send(`message;${user};${msg}`) -}*/