AMQP 0.9.1 协议
RabbitMQ 所采用的广泛部署版本。完整支持交换机、队列、绑定、消费者确认和事务。
RabbitMQ 所采用的广泛部署版本。完整支持交换机、队列、绑定、消费者确认和事务。
AMQP 0-9-1 子协议客户端 — 在 WebSocket 或原始 TCP 传输上实现交换机、队列、绑定、basic.publish / basic.consume、事务与确认。
TsgcWSPClient_AMQP
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 个事件 — 摘自组件参考文档。
已发布属性:Client、Broker、Guid。
已发布属性:HeartBeat。
事件:OnAMQPAuthentication、OnAMQPChallenge。
事件:OnAMQPConnect、OnAMQPDisconnect、OnAMQPException。
方法:WriteData。
已发布属性:Version。
该组件实现的协议权威来源。