Platforms to show: All Mac Windows Linux Cross-Platform

/MacFrameworks/NSNetService/Bonjour Browser Console


Required plugins for this example: MBS MacCocoa Plugin, MBS Main Plugin, MBS MacBase Plugin, MBS MacFrameworks Plugin

Last modified Sat, 19th Feb 2021.

You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /MacFrameworks/NSNetService/Bonjour Browser Console

Download this example: Bonjour Browser Console.zip

Project "Bonjour Browser Console.xojo_binary_project"
Class App Inherits ConsoleApplication
EventHandler Function Run(args() as String) As Integer Const domain = "local." // default const type = "_test._tcp." const name = "My Test Service" const port = 12345 testService = new NetworkService(domain, type, name, port) testService.publish do // run event loop once NSRunLoopMBS.currentRunLoop.runOnce DoEvents loop End EventHandler
EventHandler Function UnhandledException(error As RuntimeException) As Boolean End EventHandler
Property testService As Networkservice
End Class
Class NetworkService Inherits NSNetServiceMBS
EventHandler Sub DidNotPublish(Error as Dictionary) Print CurrentMethodName Dim ErrorCode As Integer = error.Lookup(NSNetServicesErrorCode, "") Dim errorDomain As String = error.Lookup(NSNetServicesErrorDomain, "") Print "Did not publish with errorcode: "+Str(ErrorCode) End EventHandler
EventHandler Sub DidNotResolve(Error as Dictionary) print CurrentMethodName Dim ErrorCode As Integer = error.Lookup(NSNetServicesErrorCode, "") Dim errorDomain As String = error.Lookup(NSNetServicesErrorDomain, "") Print "Did not resolve with errorcode: "+Str(ErrorCode) End EventHandler
EventHandler Sub DidPublish() print CurrentMethodName print "Did publish" End EventHandler
EventHandler Sub DidResolveAddress() print CurrentMethodName print "Did resolve address for "+me.name+" with type "+me.type+": "+me.addressIPv4+":"+str(me.port) '+Join(me.addresses, ", ") End EventHandler
EventHandler Sub DidStop() print CurrentMethodName print "Did stop" End EventHandler
EventHandler Sub DidUpdateTXTRecordData(data as MemoryBlock) print CurrentMethodName dim s as string = data if encodings.UTF8.IsValidData(s) then s = DefineEncoding(S, encodings.UTF8) else s = DefineEncoding(s, encodings.ISOLatin1) end if print "Did update text record: "+s End EventHandler
EventHandler Sub WillPublish() print CurrentMethodName print "Will publish" End EventHandler
EventHandler Sub WillResolve() print CurrentMethodName print "Will resolve "+me.name+" of type "+me.type End EventHandler
End Class
End Project

See also:

Download this example: Bonjour Browser Console.zip

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


The biggest plugin in space...