0.0.1 • Published 5 years ago

native-websocket v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

native-websocket

对Websocket的简单封装以方便在不同项目之间统一使用。

Install

yarn add native-websocket

# or

npm install native-websocket --save

Usage

Configuration

Automatic socket connection from an URL string.

import NativeWebsocket from 'native-websocket';

new NativeWebsocket('wss://echo.websocket.org');

// protocols, just like WebSocket(url[, protocols])
new NativeWebsocket('wss://echo.websocket.org', [, protocols]);

JSON message

import NativeWebsocket from 'native-websocket';

new NativeWebsocket('wss://echo.websocket.org', {
  format: 'json',
});

Heartbeat

import NativeWebsocket from 'native-websocket';

new NativeWebsocket('wss://echo.websocket.org', {
  heartbeat: {
    enable: true,
    message: 'ping',
    delay: 5000,
  },
});

Reconnection

import NativeWebsocket from 'native-websocket';

new NativeWebsocket('wss://echo.websocket.org', {
  reconnection: {
    enable: true,
    attempts: 6,
    delay: 5000,
  },
});

Manage connection manually

import NativeWebsocket from 'native-websocket';

const nw = new NativeWebsocket('wss://echo.websocket.org', {
  connectManually: true,
});

// 手动连接
nw.connect();
// 手动关闭
nw.close();

Events

// init
import NativeWebsocket from 'native-websocket';

const nw = new NativeWebsocket('wss://echo.websocket.org', {
  onopen: (event: Event) => {},
  onmessage: (MessageEvent: Event) => {},
  onclose: (CloseEvent: Event) => {},
  onerror: (event: Event) => {},
});

// or
import { emitter } from 'native-websocket';
// (nw.emitter === emitter) --->>> true

emitter.on('onopen', (event: Event) => {});
emitter.on('onmessage', (MessageEvent: Event) => {});
emitter.on('onclose', (CloseEvent: Event) => {});
emitter.on('onerror', (event: Event) => {});

// remove events: emitter.removeListener([event[, handler]])
emitter.removeListener('onopen');
emitter.removeAllListeners();

@todo

  • React Hooks

  • Vue Plugin

0.0.1

5 years ago