1.2.0 • Published 3 years ago

ws-heartbeat v1.2.0

Weekly downloads
5,674
License
MIT
Repository
github
Last release
3 years ago

Dependency Status devDependency Status Build Status npm version Downloads

ws-heartbeat

Server-side and client-side heartbeat library for ws and browser-side Websocket.

install

npm i ws-heartbeat

client side usage

import { setWsHeartbeat } from "ws-heartbeat/client";
// import * as WebSocket from "ws";
const ws = new WebSocket("ws://localhost:8000");

setWsHeartbeat(ws, '{"kind":"ping"}');

options:

setWsHeartbeat(ws, '{"kind":"ping"}', {
    pingTimeout: 60000, // in 60 seconds, if no message accepted from server, close the connection.
    pingInterval: 25000, // every 25 seconds, send a ping message to the server.
});

server-side usage

import { setWsHeartbeat } from "ws-heartbeat/server";
import * as WebSocket from "ws";

const wss = new WebSocket.Server();

setWsHeartbeat(wss, (ws, data, binary) => {
    if (data === '{"kind":"ping"}') { // send pong if recieved a ping.
        ws.send('{"kind":"pong"}');
    }
});

options:

setWsHeartbeat(wss, (ws, data, flag) => {
    if (data === '{"kind":"ping"}') {
        ws.send('{"kind":"pong"}');
    }
}, 60000); // in 60 seconds, if no message accepted from client, close the connection.