ltws

1.0.8 • Public • Published

ltws is a websocket library

ltws will manage ws connection that will automatically reconnect if the connection is closed.

Install

npm i ltws

Or

npm install --save ltws

Usage

Simple usage

import ltws from 'ltws'

const ws = ltws.connect('ws://my.site.com')

ws.on('connect', () => {
  ws.send('hello!')

  ws.sendJson({msg: 'hello!'})
})

ws.on('json', (message) => {
  console.log('on json', message)
})

ws.on('message', (message) => {
  console.log('on message', message)
})

ws.once('message', (message) => {
  console.log('once message', message)
})

Async usage

import ltws from 'ltws'

const ws = ltws.createInstance()

ws.on('json', (message) => {
  console.log('on json', message)
})

ws.on('message', (message) => {
  console.log('on message', message)
})

ws.once('message', (message) => {
  console.log('once message', message)
})

await ws.connectAsync('ws://my.site.com')

Options

Sample with custom options

import ltws from 'ltws'

const options = {
  connectTimeout: 5000,
  maxRetries: 10,
}
const ltws = ltws.connect('ws://my.site.com', options)

Available options

type Options = {
  pingInterval?: number
  pingTimeout?: number
  connectTimeout?: number
  reconnectTimeout?: number
  reconnectDelay?: number
  maxRetries?: number
  useReconnectEvent?: boolean
  autoReconnect?: boolean
  debug?: boolean
  warn?: boolean
  error?: boolean
}

Default values

{
  pingInterval: 5000,
  pingTimeout: 5000,
  connectTimeout: 5000,
  reconnectTimeout: 5000,
  reconnectDelay: 5000,
  maxRetries: Number.MAX_SAFE_INTEGER,
  useReconnectEvent: false,
  autoReconnect: true,
  debug: false,
  warn: true,
  error: true
}

API

Methods

connect(url: String, options: Options)
reconnect()
disconnect()

send(data: string | ArrayBuffer | Blob | ArrayBufferView)
sendJson(data: Object)

type Event = 'ping' | 'pong' | 'message' | 'json' | 'connect' | 'reconnect' | 'reconnecting' | 'disconnect' | 'disconnecting' | 'error' | 'connectError'

on(type: Event, listener: EventListener)
once(type: Event, listener: EventListener)
off(type: Event, listener: EventListener)
removeListener(type: Event, listener: EventListener)
removeOnceListener(type: Event, listener: EventListener)

License

MIT

Package Sidebar

Install

npm i ltws

Weekly Downloads

51

Version

1.0.8

License

MIT

Unpacked Size

34.2 kB

Total Files

8

Last publish

Collaborators

  • lamtv.vn