func main() { flag.BoolVar(&all, "all", all, "Print all received announcements (not only first)") flag.BoolVar(&fake, "fake", fake, "Send fake announcements") flag.StringVar(&mc, "mc", mc, "IPv6 multicast address") flag.IntVar(&bc, "bc", bc, "IPv4 broadcast port number") flag.Parse() if fake { log.Println("My ID:", protocol.DeviceIDFromBytes(myID)) } runbeacon(beacon.NewMulticast(mc), fake) runbeacon(beacon.NewBroadcast(bc), fake) select {} }
func (d *Discoverer) startLocalIPv4Broadcasts(localPort int) { bb := beacon.NewBroadcast(localPort) d.beacons = append(d.beacons, bb) go d.recvAnnouncements(bb) bb.ServeBackground() }
func (c *localClient) startLocalIPv4Broadcasts(localPort int) { c.beacon = beacon.NewBroadcast(localPort) c.Add(c.beacon) go c.recvAnnouncements(c.beacon) }