aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.env1
-rw-r--r--.gitignore3
-rw-r--r--package.json3
-rw-r--r--pnpm-lock.yaml15
-rw-r--r--src/lib/socket.js21
5 files changed, 19 insertions, 24 deletions
diff --git a/.env b/.env
new file mode 100644
index 00000000..cdf37b2a
--- /dev/null
+++ b/.env
@@ -0,0 +1 @@
+VITE_COINOS_URL=http://localhost:3119
diff --git a/.gitignore b/.gitignore
index f4401a32..dad6f805 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,3 @@ node_modules
/build
/.svelte-kit
/package
-.env
-.env.*
-!.env.example
diff --git a/package.json b/package.json
index 2fab599f..2801ff01 100644
--- a/package.json
+++ b/package.json
@@ -21,8 +21,7 @@
"svelte": "^3.44.0",
"svelte-preprocess": "^4.10.7",
"tailwindcss": "^3.1.6",
- "vite": "^3.0.0",
- "ws": "^8.8.1"
+ "vite": "^3.0.0"
},
"type": "module"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 9b5eba6c..d92f3395 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -12,7 +12,6 @@ specifiers:
svelte-preprocess: ^4.10.7
tailwindcss: ^3.1.6
vite: ^3.0.0
- ws: ^8.8.1
devDependencies:
'@sveltejs/adapter-auto': 1.0.0-next.63
@@ -26,7 +25,6 @@ devDependencies:
svelte-preprocess: 4.10.7_nxvsp6sjiltnatqa6jdm4mr6zu
tailwindcss: 3.1.6
vite: 3.0.2
- ws: 8.8.1
packages:
@@ -1703,19 +1701,6 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: true
- /ws/8.8.1:
- resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dev: true
-
/xtend/4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
diff --git a/src/lib/socket.js b/src/lib/socket.js
index 0360acd5..ab05ade1 100644
--- a/src/lib/socket.js
+++ b/src/lib/socket.js
@@ -1,4 +1,10 @@
import { rate, ws } from '$lib/store';
+
+const token =
+ 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImJvYiIsImlhdCI6MTY1ODc5NDkxMX0._zFTEADrbLffcXa5sIMrJtJ483VdIiYmsdt2ofibxu4';
+
+let interval, socket;
+
export const messages = (data) => ({
rate() {
rate.set(data);
@@ -6,23 +12,31 @@ export const messages = (data) => ({
payment() {
console.log(data);
+ },
+
+ connected() {
+ socket.send(JSON.stringify({ type: 'login', data: token }));
}
});
-const token =
- 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImJvYiIsImlhdCI6MTY1ODc5NDkxMX0._zFTEADrbLffcXa5sIMrJtJ483VdIiYmsdt2ofibxu4';
const initialReconnectDelay = 1000;
const maxReconnectDelay = 16000;
let currentReconnectDelay = initialReconnectDelay;
-let socket;
export function connect() {
+ clearInterval(interval);
+
socket = new WebSocket('ws://localhost:3119/ws');
socket.addEventListener('open', onWebsocketOpen);
socket.addEventListener('close', onWebsocketClose);
socket.addEventListener('message', onWebsocketMessage);
+ interval = setInterval(
+ () => socket.readyState === 1 && socket.send(JSON.stringify({ type: 'heartbeat' })),
+ 5000
+ );
+
ws.set(socket);
}
@@ -33,7 +47,6 @@ function onWebsocketMessage(msg) {
function onWebsocketOpen() {
currentReconnectDelay = initialReconnectDelay;
- socket.send(JSON.stringify({ type: 'login', data: token }));
}
function onWebsocketClose() {