func (m *Message) Receive(conn net.Conn, rxbuf []byte) (n int, addr *net.UDPAddr, err error) {
	if n, addr, err = ReceiveWire(conn, rxbuf); err == nil {
		p := 0
		err = m.Decode(rxbuf[:n], &p, nil)
	}
	return
}
// Receive reads a DNS message from conn, copying the packet into rxbuf.  It
// returns the number of bytes copied into rxbuf and the originating address of
// the packet if conn is a net.UDPConn, nil otherwise.  Receive can hang
// forever if the conn doesn't have appropriate read timeout already set.
Receive reads a DNS message from conn, copying the packet into rxbuf.  It
returns the number of bytes copied into rxbuf and the originating address of
the packet if conn is a net.UDPConn, nil otherwise.  Receive can hang
forever if the conn doesn't have appropriate read timeout already set.
// Receive reads a DNS message from conn copying the packet into rxbuf . It // returns the number of bytes copied into rxbuf and the originating address of // the packet if conn is a net . UDPConn nil otherwise . Receive can hang // forever if the conn doesn ' t have appropriate read timeout already set .
func (m *Message) Receive(conn net.Conn, rxbuf []byte) (n int, addr *net.UDPAddr, err error) {
	if n, addr, err = ReceiveWire(conn, rxbuf); err == nil {
		p := 0
		err = m.Decode(rxbuf[:n], &p, nil)
	}
	return
}
func ( m * Message ) Receive ( conn net . Conn , rxbuf [ ] byte ) ( n int , addr * net . UDPAddr , err error ) { if n , addr , err = ReceiveWire ( conn , rxbuf ) ; err == nil { p := 0 err = m . Decode ( rxbuf [ : n ] , & p , nil ) } return }
Receive reads a DNS message from conn, copying the packet into rxbuf.
Receive reads a DNS message from conn copying the packet into rxbuf .