Socket
Book a DemoInstallSign in
Socket

@aller/real-time-flow

Package Overview
Dependencies
Maintainers
17
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install
Package was removed
Sorry, it seems this package was removed from the registry

@aller/real-time-flow

Repository for Allers approach to reconnecting websockets, with possibility of elavating on fallbacks

latest
Source
npmnpm
Version
1.0.0-beta.1
Version published
Maintainers
17
Created
Source

websockets and stuff

RealTimeFlow (name pending) is the websocket with reconnect functionality repo for Aller. In the future, this might be expanded to include functionality for fallback protocols when websockets is not accessible for the current connection.

Use

Using the package is quite simple;

import { RealTimeFlow } from '@aller/real-time-flow'

// The hostname here can be both with https, http, ws, wss and so on, it is stripped, always.
const client = new RealTimeFlow(`localhost:PORT`, {
    reconnect?: boolean
    protocols?: stringstring[]
    secure?: boolean
}) 

// After you have created a new instance of RealTimeFlow, you can add the listeners on the object

client.on(Events.MESSAGE, (event) => { [...] })
client.on(Events.RECONNECT, (event) => { [...] })
client.on(Events.OPEN, (event) => { [...] })
client.on(Events.CLOSE, (event) => { [...] })
client.on(Events.ERROR, (event) => { [...] })

// After listeners have been added, you can connect
client.connect()


// If you want to remove any listeners, you can call
client.off(Events.EVENTNAME, FUNCTIONYOUADDEDHERE)


// When its time to disconnect, this can be done with
client.disconnect()


// To get a simplified view of the state and whether the client is connected,
// you can run
client.connected()


// If you need more info on the state of the client, the full state is also exposed
client.state()

To combat multiple clients reconnecting at the same time, the reconnect-time is set to a random number between 0-3000 ms. This should probably be improved on, depending on the performance of this.

Testing

Tests are done with ts-jest, and mocks a websocket server locally that returns whatever is sent to the server, back to the client. The tests includes tests for sending and receiving data + reconnect-functionality

yarn test

See if there are any tests breaking.

If you want to test in your browser, you can run

yarn test:browser

Keywords

websocket

FAQs

Package last updated on 07 Dec 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts