npm.io
0.2.5 • Published 6 years ago

jarvis-replica

Licence
MIT
Version
0.2.5
Deps
2
Size
13 kB
Vulns
0
Weekly
0

Jarvis Replica

Jarvis 大屏受控端, 查看演示项目

安装

npm install jarvis-replica

使用

import JarvisReplica from 'jarvis-replica'

const replica = new JarvisReplica({
  url: `ws:127.0.0.1:3000`,
  secrets: '5r9b4vto246doa9hwk55rr',
  id: 'vis-1'
})

// 连接服务器
replica.connect()
参数名 说明 类型 必填
url Jarvis 服务器地址 string true
secrets 服务器设置的密码 string true
id 受控端的唯一ID string false

监听事件

你可以使用 on 方法监听事件:

replica.on('open', (e) => {
  console.log('已经连接到控制服务器!')
})

replica.on('command', (e) => {
  console.log('接收自定义事件')
})

replica.on('*', data => {
  console.log('接收所有的自定义事件')
})

目前支持的事件如下:

事件名 说明 参数
open 连接到控制服务器 -
error 连接出错 -
close 连接断开 -
reconnect-fail 重连失败 -
* 所有自定义 command 事件 {command: 'type', arguments: {}}
[ command ] 自定义事件 参数对象

心跳检测

服务端每隔 10s 会向受控端发送 ping 事件, 受控端返回 pong, 若检测到断开连接, 则每隔 10s 尝试重连一次, 连续三次重连失败, 受控端会发送 reconnect-fail 事件给页面, 后续逻辑需要监听事件自行处理

replica.on('reconnect-fail', () => {
  console.log('replica跟server断开连接, 并尝试重连失败')
})

其他

目前受控端支持接收来自三种方式发送的指令, 具体使用方式请参考相关文档

  • controller.send 发送的指令
  • 直接通过服务端, 使用 server.sendToReplica 发送的指令
  • 其他server通过http发送的指令

服务端和控制端的使用方式, 可查阅下方文档

Jarvis 服务端地址

Jarvis 控制端地址

Jarvis 演示项目代码地址

Keywords