- English|中文
tank-websocket.js is a stable websocket client plugin with some really cool features
- support multiple instances/single cases, the global singleton mode in single page application
- support commonjs require, es6 import two import modes
- automatic reconnect mechanism
- event listener
- 0 dependencies
- high coverage unit tests
- support browser
npm install tank-websocket.js
// or
yarn add tank-websocket.js
const TankWebSocket = require("tank-websocket.js");
//or
const {SocketClient, useSocketClient} = require("tank-websocket.js");
import TankWebSocket from "tank-websocket.js";
//or
import {SocketClient, useSocketClient} from "tank-websocket.js";
<script src="https://unpkg.com/tank-websocket.js/lib/"></script>
const twsc = new TankWebSocket.SocketClient('ws://127.0.0.1:19198');
twsc.onOpen((event) => {
console.log("on open", event)
})
the global singleton mode in single page application
//main.js
TankWebSocket.useSocketClient('ws://127.0.0.1:19198');
//other
TankWebSocket.useSocketClient().onOpen((event) => {
console.log("on open", event)
})
import TankWebSocket from "tank-websocket.js";
const twsc = new TankWebSocket.SocketClient('ws://127.0.0.1:19198');
twsc.onOpen((event) => {
console.log("on open", event)
twsc.onMessage((event) => {
console.log("on error", event.data)
// console.log("on error",JSON.parse(event.data)); //json data
})
/**
* send message
*/
twsc.send("hello tank man")
//or json data
twsc.send(JSON.stringify({value: "hello tank man"}))
/**
* close ws connect
*/
twsc.close()
//or
twsc.disconnect()
})
twsc.onError((event) => {
console.log("on error", event)
})
twsc.onClose((event) => {
console.log("on close", event)
})
/**
* get original websocket
*/
console.log(twsc.ws)
/**
* close debugger ,close output on console
*/
twsc.setDebug(false)
/**
* set reConnect setInterval (default:1000 ms)
*/
twsc.setReConnectInterval(1000)
/**
* disable disconnecting retry links
*/
twsc.disableReConnect(true)
/**
* Get the Origin WebSocket instance [new]
*/
const ws=twsc.getOriginInstance();
/**
* Check if the link is closed [new]
*/
twsc.isClose();
/**
* Check if the link is connecting [new]
*/
twsc.isConnecting();
/**
* Check if the link is open [new]
*/
twsc.isOpen();
/**
* Check if the link is closing [new]
*/
twsc.isClosing();