Skip to content

cSSEClient SSE 客户端组件

简介

cSSEClient 是一个 Server-Sent Events (SSE) 客户端实现,用于接收服务器实时推送的消息。支持自动重连、事件解析、连接状态管理。

特性

  • 自动重连机制
  • 实时事件接收
  • 支持自定义重连间隔
  • 支持 Last-Event-ID 续传
  • 连接状态管理
  • 最大重连次数限制

快速开始

基本使用

vb
Private WithEvents SSE As cSSEClient

Private Sub Form_Load()
    Set SSE = New cSSEClient
    
    ' 配置重连参数
    SSE.AutoReconnect = True
    SSE.ReconnectInterval = 3000   ' 3秒
    SSE.MaxReconnectAttempts = 10
    
    ' 连接到 SSE 服务端
    Call SSE.Connect("https://api.example.com/events")
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Call SSE.Disconnect()
    Set SSE = Nothing
End Sub

事件处理

vb
' 连接建立
Private Sub SSE_OnOpen()
    Debug.Print "SSE 连接已建立"
End Sub

' 收到消息
Private Sub SSE_OnMessage(EventName As String, Data As String, Id As String)
    Debug.Print "事件: " & EventName
    Debug.Print "数据: " & Data
    Debug.Print "ID: " & Id
End Sub

' 发生错误
Private Sub SSE_OnError(Description As String, ErrorNumber As Long)
    Debug.Print "SSE 错误 " & ErrorNumber & ": " & Description
End Sub

' 连接关闭
Private Sub SSE_OnClose()
    Debug.Print "SSE 连接已关闭"
End Sub

方法

Connect

连接到 SSE 服务端。

vb
Public Function Connect(ByVal ServerUrl As String) As cSSEClient

Disconnect

断开 SSE 连接。

vb
Public Sub Disconnect()

EnableAutoReconnect

启用自动重连。

vb
Public Sub EnableAutoReconnect()

DisableAutoReconnect

禁用自动重连。

vb
Public Sub DisableAutoReconnect()

ResetReconnectAttempts

重置重连计数器。

vb
Public Sub ResetReconnectAttempts()

属性

属性类型说明
UrlString当前连接的 URL
ConnectedBoolean连接状态
ConnectingBoolean是否正在连接中
AutoReconnectBoolean是否启用自动重连(默认 True)
ReconnectIntervalLong重连间隔(毫秒,默认 3000ms)
MaxReconnectAttemptsLong最大重连次数(默认 10 次)
CurrentReconnectAttemptsLong当前重连尝试次数
LastReceivedEventIdString最后收到的事件 ID
CurrentReconnectDelayLong当前重连延迟(毫秒)
ServerReconnectIntervalLong服务器指定的重连间隔

事件

事件说明
OnOpen()连接建立时触发
OnMessage(EventName, Data, Id)收到消息时触发
OnError(Description, ErrorNumber)发生错误时触发
OnClose()连接关闭时触发

最后更新: 2026-05-17

VB6及其LOGO版权为微软公司所有