Giter Site home page Giter Site logo

socket.ts's Introduction

socket.ts

A simple, easy-to-use, high-performance, and plug-in Socket solution.

Install

npm install socket.ts

Quick Start

import { Socket, SocketState } from 'socket.ts';

const socket = new Socket({
    url: 'ws://localhost:3000'
});

// Subscribe to Socket state changes
socket.subscribeState((state) => {
    console.log(state);
});

// Listen for server data push
socket.subscribeMessage((messageEvent) => {
    console.log(messageEvent);
});

// The event triggered after calling the transformMessage method to parse the data.
socket.subscribeData((data) => {
    console.log(data);
});

// Send data to the server
socket.send({ msg: 'I am ready.' });

socket.connect();

// Disconnect
// socket.disconnect();

// Dispose memory and remove all event listeners
// socket.dispose()

Options

export interface SocketOptions {
    /**
     * The URL of the Socket request.
     */
    url?: string;
    /**
     * The protocol of the Socket request.
     */
    protocols?: string | string[];
    /**
     * The interval between reconnection attempts after the connection is lost, in milliseconds. Default is: 1000 * 30.
     */
    retryInterval?: number;
    /**
     * The interval between sending heartbeats, in milliseconds. Default is: 1000 * 60.
     */
    pingInterval?: number;
    /**
     * The data to be sent with the heartbeat.
     */
    pingData?: any;
    /**
     * Create a bridge. The default bridge is WorkerSocketBridge.
     * @param socket The current Socket instance.
     * @returns 
     */
    createBridge: (socket: Socket) => SocketBridge;
    /**
     * After receiving data pushed from the server, you want to convert it into another format.
     * @param event
     * @returns Returns the converted data.
    */
    transformResponse?: (event: MessageEvent) => any
    /**
     * The plugins used.
     */
    plugins?: SocketPlugin[];
}

socket.ts's People

Contributors

lzxb avatar

Stargazers

 avatar

Watchers

Dn9x avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.