DingTalkStreamClient
public final class DingTalkStreamClient
io/agentscope/extensions/channel/dingtalk/DingTalkStreamClient.java:58–305DingTalk 流客户端,封装与远端服务的连接和调用。位于 io.agentscope.extensions.channel.dingtalk 包。核心成员包括 start、stop、DingTalkStreamClient。
DingTalk Stream client — opens a long-lived WebSocket to the DingTalk gateway, subscribes to the bot-messages topic, and dispatches inbound frames to a consumer. Reconnects with exponential backoff on failure.
Stream protocol summary
-
POST {streamRegisterUrl}withappKey,appSecret, and the topic subscription list. Response includesendpoint(wss URL) andticket. -
Connect WebSocket to
endpoint?ticket=ticket. -
Each frame is a JSON envelope;
type=CALLBACKcarries a stringifieddataJSON. We must ACK each callback so DingTalk releases the message from its retry buffer.
This client is intentionally small — no external SDK dependency, no schema validation beyond what's required. Heartbeat / ping is left to the JDK WebSocket implementation.
构造器摘要Constructor Summary
| 构造器Constructor | 说明Description |
|---|---|
public DingTalkStreamClient(DingTalkChannelProperties properties, Consumer<JsonNode> messageConsumer) | 初始化 `DingTalkStreamClient` 实例。 Creates a new instance. |
方法摘要Method Summary
| 方法Method | 说明Description |
|---|---|
public void start() | 执行启动相关操作。 Starts the stream connection. |
public void stop() | 执行停止相关操作。 Stops the stream connection and releases resources. |
构造器详情Constructor Detail
DingTalkStreamClient
public DingTalkStreamClient(DingTalkChannelProperties properties, Consumer<JsonNode> messageConsumer)
初始化 DingTalkStreamClient 实例。
Creates a new instance.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
properties | DingTalkChannelProperties | 属性(类型 `DingTalkChannelProperties`)。The properties. |
messageConsumer | Consumer<JsonNode> | 消息消费者(类型 `Consumer`)。The message consumer. |
io/agentscope/extensions/channel/dingtalk/DingTalkStreamClient.java:82–86方法详情Method Detail
start
public void start()
执行启动相关操作。
Starts the stream connection.
io/agentscope/extensions/channel/dingtalk/DingTalkStreamClient.java:89–94stop
public void stop()
执行停止相关操作。
Stops the stream connection and releases resources.
io/agentscope/extensions/channel/dingtalk/DingTalkStreamClient.java:97–115