From 1c911ca14b75bcaec300a5fc26026b32464c954f Mon Sep 17 00:00:00 2001 From: Kirill Devope Date: Sat, 18 Jun 2022 23:10:09 +0300 Subject: [PATCH 1/2] som fixes, dependencies and readme --- package.json | 5 ++++- public/app.js | 16 +++++++++++++++- server.js | 16 ++++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index eb3506a..9c4fe14 100644 --- a/package.json +++ b/package.json @@ -4,5 +4,8 @@ "private": true, "scripts": { "start": "node server.js" + }, + "dependencies": { + "ws": "^8.8.0" } -} \ No newline at end of file +} diff --git a/public/app.js b/public/app.js index fc976a6..eb7b467 100644 --- a/public/app.js +++ b/public/app.js @@ -12,4 +12,18 @@ function printMessage(value) { li.innerHTML = value; messages.appendChild(li); -} \ No newline at end of file +} + +const ws = new WebSocket('ws://localhost:3002'); + +ws.onopen = () => setStatus('ONLINE'); +ws.onclose = () => setStatus('DISCONNECTED'); + +ws.onmessage = response => printMessage(response.data); + +form.addEventListener('submit', event => { + event.preventDefault(); + + ws.send(input.value); + input.value = ''; +}); \ No newline at end of file diff --git a/server.js b/server.js index e69de29..6a2afcc 100644 --- a/server.js +++ b/server.js @@ -0,0 +1,16 @@ +const WebSocket = require('ws'); + +const server = new WebSocket.Server({ port: 3002 }); + +server.on('connection', ws => { + ws.on('message', message => { + server.clients.forEach(client => { + if (client.readyState === WebSocket.OPEN) { + client.send(message.toString()); + } else { + client.send(client); + } + }) + }) + ws.send('Welcome'); +}) \ No newline at end of file From 6198adb00f52d6d5b1730b9a7acf28b4cc6fc594 Mon Sep 17 00:00:00 2001 From: Kirill Devope Date: Sat, 18 Jun 2022 23:19:38 +0300 Subject: [PATCH 2/2] readme --- readme.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..f1c2659 --- /dev/null +++ b/readme.md @@ -0,0 +1,18 @@ +### Установка зависимостей проекта + +``` +npm i +``` + +### Установка http-server глобально + +``` +sudo npm install -g http-server +``` + +### Запуск + +``` +http-server +node server.js +``` \ No newline at end of file