0.7.1 • Published 8 months ago

wsocketjs-client v0.7.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

wsocketjs-client

介绍

为了快速开发业务,封装WebSocket,支持特性:

  • 消息队列
  • 网络监控
  • 心跳机制
  • 重连机制

注意:如果涉及到【个推业务功能】,建议还是使用socketjs.io / ws / mqtt 等库

安装教程

npm install wsocketjs-client

Note: add --save if you are using npm < 5.0.0

使用说明

Use in a browser(CDN):

<script src="https://cdn.jsdelivr.net/npm/wsocketjs-client/lib/index.min.js"></script>

Use In ES6:

import Socketjs from 'wsocketjs-client';

Options

options can be object.

{
    protocols: undefined, // protocols,服务器选择的下属协议
    networkWatch: true, // 网络监控,当开启时,网络断开,再次连上网,则进行重连
    heartbeat: true, // 是否维持心跳,目前只考虑维持客户端心跳,不考虑服务器心跳,如果考虑,则需要服务端收到客户端报文后,返回一段报文给客户端
    heartbeatInterval: 5000, // 心跳间隔(ms)
    heartbeatPingText: 'ping', // 客户端发动心跳文本,心跳内容({ "type": \"ping\" })
    heartbeatPongText: 'pong', // 客户端收到的心跳文本,收到的建议: ({ "type": \"pong\" }),有关于心跳的过滤
    heartbeatTimeout: 60000, // 服务端超过多少时长未返回 heartbeatPongText ,则断定为断开连接,进行重连(ms)
    reconnect: true, // 是否重连
    reconnectInterval: 5000, // 重连间隔时间(ms)
    allowReconnectMaxTimes: 3 // 允许重连最大次数
}

For example, the default behavior

const ws = new SocketJS('ws://xx.xx.xx.xx'[, options]);
// 连接中,触发
ws.$on('connect', function () {
    console.log('connect...');
});
// 重连中,触发
ws.$on('reconnect', function () {
    console.log('reconnect...');
});
// 断网,再次连接网络触发
ws.$on('online', function (ev) {
    console.log('network is online');
});
// 断网触发
ws.$on('offline', function (ev) {
    console.log('network is offline');
});
// 收到消息触发
ws.$on('message', function (ev) {
    console.log(JSON.stringify(ev.data));
});
// ws连接成功!
ws.$on('open', function (ev) {
    console.log('open', ev);
});
// ws 连接失败!
ws.$on('error', function (ev) {
    console.log('error', ev);
});
// ws 关闭
ws.$on('close', function (ev) {
    console.log('close', ev);
});
// 连接
ws.connect();

// 主动关闭
ws.close();

// 销毁
ws.destory();

See the Examples or package source for more details.

支持情况

  • Internet Explorer 10
  • Edge 12
  • Firefox 6
  • Chrome 14
  • Safari 6.0
  • Opera 12.1
  • iOS Safari 6.0
  • Chrome for Android 27.0
0.7.1

8 months ago

0.7.0

8 months ago

0.6.0

1 year ago

0.5.0

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.3.0

1 year ago

0.2.0

1 year ago

0.1.0

1 year ago

0.0.1

1 year ago