Example: /RabbitMQ/amqp_listenq

Online Documentation   -   Statistics   -   FAQ   -   Plugin Parts (All, Dependencies)   -   Class hierarchy

New in Version 22.2 22.3 22.4 22.5 23.0 23.1 23.2 23.3 23.4 23.5 24.0 24.1

The list of the   topics,   classes,   interfaces,   controls,   modules,   global methods by category,   global methods by name,   screenshots,   licenses   and   examples.

Platforms to show: All Mac Windows Linux Cross-Platform

/RabbitMQ/amqp_listenq


Required plugins for this example: MBS RabbitMQ Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /RabbitMQ/amqp_listenq

This example is the version from Mon, 14th Mar 2021.

Project "amqp_listenq.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
EventHandler Sub Open() Const hostname = "192.168.2.70" Const port = 5672 Const exchange = "test" Const bindingkey = "test" Const queuename = "test" Dim conn As New RabbitMQConnectionMBS If Not conn.NewTCPSocket Then MsgBox "Failed to create TCP socket" Return End If Dim status As Integer status = conn.OpenSocket(hostname, port) If status <> 0 then MsgBox "Failed to open TCP socket" Return End If Dim r As RabbitMQRPCReplyMBS r = conn.LoginPlain("/", 0, 131072, 0, "test", "test") If Failed(r) Then Return Const channel = 1 Call conn.ChannelOpen(channel) r = conn.RPCReply If Failed(r) Then Return Const consumerTag = "" Const noLocal = False Const noAck = False Const exclusive = False Dim arguments As Dictionary = Nil Dim BasicConsumeResult As Dictionary = conn.BasicConsume(channel, queuename, consumerTag, noLocal, noAck, exclusive, arguments) r = conn.RPCReply If Failed(r) Then Return While True Dim res As RabbitMQRPCReplyMBS dim envelope as RabbitMQEnvelopeMBS res = conn.ConsumeMessage(envelope, 0.01) If res.Type = res.ResponseTypeNormal Then Log "Delivery: "+Str(envelope.DeliveryTag) Log "Exchange: "+envelope.Exchange Log "Routingkey: "+envelope.Routingkey If BitwiseAnd(envelope.message.properties.flags, RabbitMQBasicPropertiesMBS.kFlagType) <> 0 Then Log "Content-type: "+envelope.Message.Properties.ContentType Dim BodyString As String = envelope.Message.Body Log "Body: "+BodyString End If end if app.DoEvents wend r = conn.ConnectionClose If Failed(r) Then Return End EventHandler
Function Failed(r as RabbitMQRPCReplyMBS) As Boolean If r = Nil Then Return True End If Select Case r.Type Case r.ResponseTypeNone Break Case r.ResponseTypeNormal Return False // okay Case r.ResponseTypeLibraryException MsgBox "Library error: "+Str(r.LibraryError)+" "+RabbitMQConnectionMBS.ErrorString(r.LibraryError) Return True Case r.ResponseTypeServerException Dim d As Dictionary = r.MethodDecoded Dim c As String = d.Lookup("ReplyCode", "") Dim t As String = d.Lookup("ReplyText", "") MsgBox "Server error "+c+": "+t If t = "" Then Break Return True end Select End Function
Sub Log(s as string) System.DebugLog s MainWindow.List.AddRow s End Sub
End Class
Class MainWindow Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
End Control
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project

The items on this page are in the following plugins: MBS RabbitMQ Plugin.


💬 Ask a question or report a problem