12 "github.com/grandcat/zeroconf"
16 name = flag.String("name", "GoZeroconfGo", "The name for the service.")
17 service = flag.String("service", "_workstation._tcp", "Set the service type of the new service.")
18 domain = flag.String("domain", "local.", "Set the network domain. Default should be fine.")
19 port = flag.Int("port", 42424, "Set the port the service is listening to.")
20 waitTime = flag.Int("wait", 10, "Duration in [s] to publish service for.")
26 server, err := zeroconf.Register(*name, *service, *domain, *port, []string{"txtv=0", "lo=1", "la=2"}, nil)
30 defer server.Shutdown()
31 log.Println("Published service:")
32 log.Println("- Name:", *name)
33 log.Println("- Type:", *service)
34 log.Println("- Domain:", *domain)
35 log.Println("- Port:", *port)
38 sig := make(chan os.Signal, 1)
39 signal.Notify(sig, os.Interrupt, syscall.SIGTERM)
41 var tc <-chan time.Time
43 tc = time.After(time.Second * time.Duration(*waitTime))
53 log.Println("Shutting down.")