Documentation
¶
Overview ¶
Package resolver provides interface (and default implementation) to retrieve public network address.
Currently there are two default implementation of resolvers:
- Using STUN server
- No-op resolver which returns socket listen address
Usage:
var conn net.PacketConn
// get connection anywhere
r := resolver.NewStunResolver("") // Using default stun server
publicAddr, _ := r.Resolve(conn)
fmt.Println(publicAddr)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PublicAddressResolver ¶
type PublicAddressResolver interface {
// Resolve returns public network address from given connection.
Resolve(conn net.PacketConn) (string, error)
}
PublicAddressResolver is network address resolver interface.
func NewExactResolver ¶
func NewExactResolver() PublicAddressResolver
NewExactResolver returns new no-op resolver.
func NewStunResolver ¶
func NewStunResolver(stunAddress string) PublicAddressResolver
NewStunResolver returns new STUN network address resolver.
Click to show internal directories.
Click to hide internal directories.