Platforms to show: All Mac Windows Linux Cross-Platform
/MacOSX/Bonjour/Find computer Console
Feedback.
Function:
You find this example project in your Plugins Download as a Realbasic project file within the examples folder: /MacOSX/Bonjour/Find computer Console
This example is the version from Fri, 25th Feb 2010.
Notes: Last modified: Fri, 25th Feb 2010
Feedback.
Function:
You find this example project in your Plugins Download as a Realbasic project file within the examples folder: /MacOSX/Bonjour/Find computer Console
This example is the version from Fri, 25th Feb 2010.
Notes: Last modified: Fri, 25th Feb 2010
Class App
Inherits ConsoleApplication
// Properties
Protected Dim browser(-1) As MyBrowser
Protected Dim lookup(-1) As MyLookup
// Event implementations
Function Run(args() as String) As Integer
print "Press control-C to quit."
StartBrowse "_ftp._tcp","FTP Server"
StartBrowse "_afpovertcp._tcp","Apple File Sharing"
StartBrowse "_nfs._tcp","Network File System"
StartBrowse "_http._tcp","Webserver"
StartBrowse "_printer._tcp","Printer"
StartBrowse "_ichat._tcp","iChat (old)"
StartBrowse "_presence._tcp","iChat"
StartBrowse "_daap._tcp","iTunes"
StartBrowse "_dpap._tcp","iPhoto"
StartBrowse "_ipp._tcp","Intenet Printing Protocol"
StartBrowse "_pdl-datastream._tcp","PDL Data Stream"
StartBrowse "_distcc._tcp","XCode"
StartBrowse "_xserveraid._tcp","XServe RAID"
do
// give time to system threads and timers
DelayMBS 0.1
// and give time to RB timers, sockets and threads
DoEvents
loop
End Function
// Methods
Sub StartLookup(name as string, type as string, domain as string, reason as string)
dim b as MyLookup
ClearLookups
b=new MyLookup
if b.Lookup(0,name,type,domain) then
b.Reason=reason
b.name=name
lookup.Append b
end if
End Sub
Protected Sub StartBrowse(typ as string, reason as string)
dim b as MyBrowser
b=new MyBrowser
if b.Browse(0,typ,"") then
b.Reason=reason
browser.Append b
else
print "Failed to init browser for "+typ
end if
End Sub
Sub ClearLookups()
dim l as MyLookup
dim i,c as integer
c=UBound(lookup)
for i=c downto 0
if lookup(i).done then
lookup.Remove i
end if
next
End Sub
End Class
Class MyLookup
Inherits Object
// Properties
Dim reason As string
Dim done As boolean
Dim name As string
// Event implementations
Sub ServiceLookup(flags as integer, InterfaceIndex as integer, ErrorCode as integer, Fullname as string, Hosttarget as string, Port as integer, TxtRecord as string)
print "Service found:"
print "Name: "+name
print "IP: "+DNSNameToAddressMBS(Hosttarget)+":"+str(port)
print "Host: "+Hosttarget
print "Kind: "+reason
End Sub
End Class
Class MyBrowser
Inherits Object
// Properties
Dim reason As string
// Event implementations
Sub ServiceBrowse(Flags as integer, InterfaceIndex as integer, ErrorCode as integer, ServiceName as string, RegType as string, Domain as string)
const kDNSServiceFlagsAdd=2
dim f as integer
f=BitwiseAnd(Flags, kDNSServiceFlagsAdd)
if f<>0 then
// added
app.StartLookup ServiceName,RegType,domain,reason
else
// removed
print "Service gone:"
print "Name: "+ServiceName
print "Type: "+reason
print "Domain: "+domain
end if
End Sub
End Class
See also:
Links
MBS Filemaker Plugins - Bilder aus Nickenich