Not a Package Manager

    tangyuxian-js-socket
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0 • Public • Published

    简介

    对websocket进行一次简单的封装,加入心跳和重连机制,开箱即用

    使用typescript对原有的1.0版本进行重写,并提供两种安装方式

    安装

    提供两种安装方式

    通过NPM安装

    $ npm install/i tangyuxian-js-socket --save

    通过CDN安装

    <script src="https://cdn.jsdelivr.net/npm/tangyuxian-socket-js@2.0.0/dist/index.min.js"></script>

    api

    URL 对象实例化后的第一个参数是链接通道地址

    例如:ws://192.168.1.101:8888/websocket/

    option对象中有以下属性

    参数 类型 默认值 说明
    isReconnect Booble true 是否自动重连,启用后自动重连功能生效
    reconnectTime Number 5000 isReconnecttrue时生效,设置每次重连的时间间隔,单位是毫秒
    reconnectCount Number -1 重连次数,默认不限制
    debug Booble false debug模式,开启后会在控制台打印连接情况
    onOpenAutoSendMsg Any 当连接成功后自动发送的消息内容,一般用于建立连接后发送当前客户端的身份标识用于登录
    heartTime Number 5000 心跳时间间隔,单位是毫秒,设置-1时不触发心跳
    heartMsg Any 'ping' 默认发送的心跳内容
    openCallback Function 成功连接时的回调函数
    messageCallback Function 接收到消息的回调函数
    errorCallback Function 错误的回调函数
    closeCallback Function 关闭时的回调函数

    Events

    事件名 参数 说明
    send message:Any 需要发送的数据信息
    removeSocket - 关闭socke连接并标记关闭状态,成功关闭可触发websocket默认关闭事件onclose
    getWebsocket websocket:Object 获取实例化之后的websocket对象
    getActiveLink type:Booble 获取当前socket标记状态,当值为false时代表整个socket对象处于不可用状态
    websocketOnOpen callback:Function(event:Object) websocket连接建立成功时的回调函数
    websocketOnMessage callback:Function(event:Object) websocket接收到消息时可触发的回调函数
    websocketOnError callback:Function(event:Object) websocket出现连接错误时触发的回调函数
    websocketOnClose callback:Function(event:Object) websocket关闭时触发的回调函数

    用法示例

    import Socket from 'tangyuxian-js-socket'
    let url = "ws://192.168.1.101:8888/websocket"
    let option = {
       debug:true,
       onOpenAutoSendMsg:JSON.stringify({id:'123456',type:"login"}),
       openCallback:res=>{
          console.log("建立连接成功",res)
          //...
       },
       messageCallback:res=>{
          console.log("接收到的消息",res) 
          //...
       }
       //...
    }
    let ws = new Socket(url,option)
    //...
    ws.removeSocket()
    import Socket from 'tangyuxian-js-socket'
    let url = "ws://192.168.1.101:8888/websocket"
    let ws = new Socket(url)
    ws.websocketOnOpen(res=>{
        console.log("建立连接成功",res)
        ws.send(JSON.stringify({id:'123456',type:"login"}))
        //...
    })
    ws.websocketOnMessage(res=>{
         console.log("接收到的消息",res) 
         //...
    })
    //...
    ws.removeSocket()

    许可证

    本项目是根据麻省理工学院(MIT)的许可证授权, 详情可点击 LICENSE 文件查看.

    Install

    npm i tangyuxian-js-socket

    DownloadsWeekly Downloads

    0

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    18.7 kB

    Total Files

    6

    Last publish

    Collaborators

    • tangyuxian