Source File
udpsock.go
Belonging Package
net
package net
import (
)
func ( *UDPAddr) () string { return "udp" }
func ( *UDPAddr) () string {
if == nil {
return "<nil>"
}
:= ipEmptyString(.IP)
if .Zone != "" {
return JoinHostPort(+"%"+.Zone, itoa(.Port))
}
return JoinHostPort(, itoa(.Port))
}
func ( *UDPAddr) () bool {
if == nil || .IP == nil {
return true
}
return .IP.IsUnspecified()
}
func ( *UDPAddr) () Addr {
if == nil {
return nil
}
return
}
func (, string) (*UDPAddr, error) {
switch {
case "udp", "udp4", "udp6":
case "": // a hint wildcard for Go 1.0 undocumented behavior
= "udp"
default:
return nil, UnknownNetworkError()
}
, := DefaultResolver.internetAddrList(context.Background(), , )
if != nil {
return nil,
}
return .forResolve(, ).(*UDPAddr), nil
}
func ( *UDPConn) ( []byte, Addr) (int, error) {
if !.ok() {
return 0, syscall.EINVAL
}
, := .(*UDPAddr)
if ! {
return 0, &OpError{Op: "write", Net: .fd.net, Source: .fd.laddr, Addr: , Err: syscall.EINVAL}
}
, := .writeTo(, )
if != nil {
= &OpError{Op: "write", Net: .fd.net, Source: .fd.laddr, Addr: .opAddr(), Err: }
}
return ,
}
func ( string, , *UDPAddr) (*UDPConn, error) {
switch {
case "udp", "udp4", "udp6":
default:
return nil, &OpError{Op: "dial", Net: , Source: .opAddr(), Addr: .opAddr(), Err: UnknownNetworkError()}
}
if == nil {
return nil, &OpError{Op: "dial", Net: , Source: .opAddr(), Addr: nil, Err: errMissingAddress}
}
:= &sysDialer{network: , address: .String()}
, := .dialUDP(context.Background(), , )
if != nil {
return nil, &OpError{Op: "dial", Net: , Source: .opAddr(), Addr: .opAddr(), Err: }
}
return , nil
}
func ( string, *UDPAddr) (*UDPConn, error) {
switch {
case "udp", "udp4", "udp6":
default:
return nil, &OpError{Op: "listen", Net: , Source: nil, Addr: .opAddr(), Err: UnknownNetworkError()}
}
if == nil {
= &UDPAddr{}
}
:= &sysListener{network: , address: .String()}
, := .listenUDP(context.Background(), )
if != nil {
return nil, &OpError{Op: "listen", Net: , Source: nil, Addr: .opAddr(), Err: }
}
return , nil
}
func ( string, *Interface, *UDPAddr) (*UDPConn, error) {
switch {
case "udp", "udp4", "udp6":
default:
return nil, &OpError{Op: "listen", Net: , Source: nil, Addr: .opAddr(), Err: UnknownNetworkError()}
}
if == nil || .IP == nil {
return nil, &OpError{Op: "listen", Net: , Source: nil, Addr: .opAddr(), Err: errMissingAddress}
}
:= &sysListener{network: , address: .String()}
, := .listenMulticastUDP(context.Background(), , )
if != nil {
return nil, &OpError{Op: "listen", Net: , Source: nil, Addr: .opAddr(), Err: }
}
return , nil
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin 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 @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |