Source File
udp.go
Belonging Package
github.com/koron/go-ssdp/internal/multicast
package multicastimport ()type PacketHandler func(net.Addr, []byte) errortype AddrResolver struct {Addr stringmu sync.Mutexudp *net.UDPAddrerr error}func ( *AddrResolver) ( string) {.mu.Lock().Addr =.udp = nil.err = nil.mu.Unlock()}func ( *AddrResolver) () (*net.UDPAddr, error) {.mu.Lock()defer .mu.Unlock()if := .err; != nil {return nil,}if := .udp; != nil {return , nil}.udp, .err = net.ResolveUDPAddr("udp4", .Addr)return .udp, .err}var RecvAddrResolver = &AddrResolver{Addr: "224.0.0.1:1900"}// SetRecvAddrIPv4 updates multicast address where to receive packets.// This never fail now.func ( string) error {RecvAddrResolver.setAddress()return nil}var sendAddrResolver = &AddrResolver{Addr: "239.255.255.250:1900"}// SendAddr returns an address to send multicast UDP package.func () (*net.UDPAddr, error) {return sendAddrResolver.resolve()}// SetSendAddrIPv4 updates a UDP address to send multicast packets.// This never fail now.func ( string) error {sendAddrResolver.setAddress()return nil}
![]() |
The pages are generated with Golds v0.8.2. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |