
优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。
连载第二十六期
《高级指引:WebSocket 消息推送》
▽
WebSocket 是一种网络传输协议,可在单个 TCP 连接上进行全双工通信,位于 OSI 模型的应用层。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。
其事件如下:
-
message.subscribe
-
message.unsubscribe
# 内建处理器:message.*

# 在 lifeCycle 中使用
构件在自身渲染和页面渲染的各个时刻可以执行WebSocket消息推送的相关订阅动作,它们通过 lifeCycle 定义。
brick: your.any-bricklifeCycle:onPageload:- action: message.subscribeargs:- pipelineChannel- system: pipelinetopic: "pipeline.task.running.${QUERY.taskId}"callback:success:action: console.logerror:action: console.logonMessage:- channel: pipelineChannelhandlers:- target: your-bricktransform:dataSource: <% EVENT.detail %>onPageLeave:- action: message.unsubscribeargs:- pipelineChannel- system: pipelinetopic: "pipeline.task.running.${QUERY.taskId}"callback:success:action: console.logerror:action: console.log
# 在事件中使用
brick: your.any-brickevents:something.happen:action: message.subscribeargs:- pipelineChannel- system: pipelinetopic: "pipeline.task.running.${EVENT.detail.id}"callback:success:action: console.logerror:action: console.log
# 接口定义
interface PluginWebSocketMessageTopic {source?: string;// 产品模块system: string;// 订阅topictopic: string;}
本文介绍了WebSocket协议及其在客户端和服务器之间实现全双工通信的方法。重点讲解了如何利用WebSocket API进行消息订阅与取消订阅,包括在页面生命周期的不同阶段执行相应操作的方法。
1982

被折叠的 条评论
为什么被折叠?



