Platforms to show: All Mac Windows Linux Cross-Platform

/Network/Query MX Records


You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Network/Query MX Records

This example is the version from Wed, 16th Jan 2024.

Project "Query MX Records.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class MainWindow Inherits Window
Control List Inherits Listbox
ControlInstance List Inherits Listbox
End Control
Control DomainField Inherits TextField
ControlInstance DomainField Inherits TextField
EventHandler Sub TextChange() QueryButton.Enabled = Me.Text.Len > 0 End EventHandler
End Control
Control QueryButton Inherits PushButton
ControlInstance QueryButton Inherits PushButton
EventHandler Sub Action() Me.Enabled = False RunQuery DomainField.Text End EventHandler
End Control
EventHandler Sub Open() RunQuery "monkeybreadsoftware.de" RunQuery "xojo.com" RunQuery "gmail.com" End EventHandler
Sub RunQuery(domain as string) Dim q As New DNSServiceQueryRecordMBS Const kDNSServiceType_MX = 15 Const kDNSServiceClass_IN = 1 AddHandler q.ServiceQueryRecord, WeakAddressOf ServiceQueryRecord If q.QueryRecord(0, domain, kDNSServiceType_MX, kDNSServiceClass_IN) Then queries.append q Else list.AddRow domain, "", "Failed to start query." End If End Sub
Sub ServiceQueryRecord(query as DNSServiceQueryRecordMBS, flags as integer, InterfaceIndex as integer, ErrorCode as integer, Fullname as string, rrType as Integer, rrClass as integer, Length as Integer, Data as string, ttl as Integer) If ErrorCode = 0 Then Dim d As MemoryBlock = data Dim byte0 As Integer = d.Int8Value(0) Dim priority As Integer = d.Int8Value(1) Dim name As String = "" Dim pos As Integer = 2 While pos < d.Size Dim Len As Integer = d.UInt8Value(pos) Dim part As String = d.StringValue(pos+1, Len) If name = "" Then name = part Else name = name + ("." + part) End If pos = pos + 1 + len Wend list.AddRow fullname, priority.ToString, name Else list.AddRow fullname, "", "Error: "+ErrorCode.ToString End If End Sub
Property queries() As DNSServiceQueryRecordMBS
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"
MenuItem HelpMenu = "&Help"
End MenuBar
Sign
End Sign
End Project

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


The biggest plugin in space...