TsgcWSPServer_sgc › 方法 › Publish
将消息发布给所有订阅了某个频道的客户端。
procedure Publish(const aMessage, aChannel: String; const aExclude: String = ''; const aInclude: String = ''; const aQueue: TwsQueue = queueLevel0);
| 名称 | 类型 | 描述 |
|---|---|---|
aMessage | const String | 要发布的负载;通过订阅者的 OnEvent 处理程序传递给订阅者。 |
aChannel | const String | 消息发布的通道;通配符(如 news*)将扇出到每个有活跃订阅者的匹配通道。 |
aExclude | const String | 以分号分隔的连接 Guid 列表,在广播时跳过这些连接。 |
aInclude | const String | 以分号分隔的连接 Guid 列表,发布内容仅限这些连接接收。 |
aQueue | const TwsQueue | 保留策略:queueLevel0(不保留)、queueLevel1(每个频道保留最后一条消息)或 queueLevel2(对每条消息排队),以便稍后连接的订阅者可以接收它们。 |
完整重载。将通配符频道与当前订阅展开,当 aQueue 为 queueLevel1 或 queueLevel2 时将保留副本写入服务器端队列,然后在遵守 Exclude/Include 过滤器的前提下将负载广播给所有匹配的订阅者。
oProtocol.Publish('breaking news', 'news');
oProtocol.Publish('sticky banner', 'news', '', '', queueLevel1);
procedure Publish(const aMessage, aChannel: String; const aQueue: TwsQueue);
| 名称 | 类型 | 描述 |
|---|---|---|
aMessage | const String | 要发布的有效载荷;通过 OnEvent 传递给订阅者。 |
aChannel | const String | 发布的频道;支持通配符。 |
aQueue | const TwsQueue | 延迟订阅者的保留策略(queueLevel0、queueLevel1、queueLevel2)。 |
便捷重载,使用空的 Exclude 和 Include 过滤器委托给完整重载。当您只需要选择保留级别,并希望所有匹配的订阅者都能收到消息时,请使用此方法。
oProtocol.Publish('tick', 'prices', queueLevel1);