AMQP 0.9.1 协议

RabbitMQ 所采用的广泛部署版本。完整支持交换机、队列、绑定、消费者确认和事务。

TsgcWSPClient_AMQP

AMQP 0-9-1 子协议客户端 — 在 WebSocket 或原始 TCP 传输上实现交换机、队列、绑定、basic.publish / basic.consume、事务与确认。

组件类

TsgcWSPClient_AMQP

协议

AMQP 0-9-1

支持平台

Windows, macOS, Linux, iOS, Android

版本

Professional / Enterprise

放置组件,配置属性,即刻运行

将 TsgcWebSocketClient 与 TsgcWSPClient_AMQP 配对,打开通道,声明交换机与队列,然后发布和消费消息。

uses
  sgcWebSocket, sgcWebSocket_Protocol_AMQP_Client, sgcAMQP_Classes;

var
  WSClient: TsgcWebSocketClient;
  AMQP: TsgcWSPClient_AMQP;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  WSClient.Host := 'broker.example.com';
  WSClient.Port := 15674;
  WSClient.Options.Parameters := '/ws';

  AMQP := TsgcWSPClient_AMQP.Create(nil);
  AMQP.Client := WSClient;

  AMQP.OnAMQPConnect      := AMQPConnect;
  AMQP.OnAMQPBasicDeliver := AMQPBasicDeliver;

  WSClient.Active := True;
end;

procedure TForm1.AMQPConnect(Sender: TObject);
begin
  AMQP.OpenChannel('ch1');
  AMQP.DeclareExchange('ch1', 'orders', 'direct');
  AMQP.DeclareQueue('ch1', 'orders_in');
  AMQP.BindQueue('ch1', 'orders_in', 'orders', 'create');
  AMQP.Consume('ch1', 'orders_in');

  // Publish a message
  AMQP.PublishMessage('ch1', 'orders', 'create', '{"id":42}');
end;

内部功能

6 个已发布属性、41 个方法、25 个事件 — 摘自组件参考文档。

连接

已发布属性:ClientBrokerGuid

可靠性

已发布属性:HeartBeat

身份验证

事件:OnAMQPAuthenticationOnAMQPChallenge

生命周期

事件:OnAMQPConnectOnAMQPDisconnectOnAMQPException

高级功能

方法:WriteData

诊断

已发布属性:Version

规范与参考资料

该组件实现的协议权威来源。

文档与示例

直达组件参考文档、获取即用示例项目并下载试用版。

示例项目 — Demos\Protocols\AMQP\091 即用示例项目,包含在 sgcWebSockets 包中 — 请从下方下载试用版。
技术文档(PDF) 功能介绍、快速入门、Delphi 与 C++ Builder 代码示例及原始参考资料 — 仅限此组件。
用户手册(PDF) 涵盖库中每个组件的综合手册。

准备好使用 AMQP 0.9.1 了吗?

下载免费试用版,几分钟内即可连接 RabbitMQ。