界面
消息同步
为什么要消息同步
云桥渲染平台在使用时,由于客户端在访问同一个系统页面时,加载的云渲染服务地址不同,为了将不同客户端中的场景、物联网状态、功能效果做到步调统一,需要一套消息同步中心服务,来将两个至多个客户端的操作同步起来,因此平台提供了一套消息同步服务。
怎么实现消息同步
通过平台提供的消息同步服务,多个客户端在访问系统时,会将各自的执行传输到消息中心,消息中心会分析判断,将消息广播给其他客户端,并在客户端执行相关的指令,即完成消息同步能力。
使用方式
在查看接口文档时,大家应该能看到,很多接口在最后一个传参,叫做sync
,这个参数默认false
,如果传true
,并且开启了消息同步,则会将多个客户端的消息、状态同步起来。
以下为简单示例,来展示消息同步:
注意
客户端一和客户端二中的server地址虽然不一样,但是他们是同一个渲染场景
客户端一
js
const kapi = await KAPI.build('Your Auth Token')
const options = {
server: 'Service URL 1',
sync: true,
syncServer: 'Sync Service URL',
syncClientId: '20230830-1'
}
const scene = new kapi.Scene('kapi-container', options)
console.log(scene)
客户端二
js
const kapi = await KAPI.build('Your Auth Token')
const options = {
server: 'Service URL 2',
sync: true,
syncServer: 'Sync Service URL',
syncClientId: '20230830-2'
}
const scene = new kapi.Scene('kapi-container', options)
console.log(scene)
消息中心
消息中心会接收到”客户端一“和”客户端二“连接到消息中心的消息,并将后续的带有同步指令的在该客户端执行。
功能同步示例
1、比如在”客户端一“执行了同步能力的飞行功能:
js
const camera = new kapi.Camera()
const postion = {
x: 108020.0,
y: -129000.0,
z: -8240.0,
rotation: {
roll: 0,
pitch: 0,
yaw: -120.000153
}
}
const camearInfo = await camera.flyTo(postion, 1.5, true)
console.log(camearInfo)
2、消息中心接收到”客户端一“的同步指令,并将指令广播到除”客户端一“的客户端群中,比如”客户端二“收到消息中心的同步指令,也会同样执行飞行动作。
试用
如果您有消息同步、场景同步、物联状态同步的需求,请点击试用一下吧