udp

package
v0.0.0-...-42c67d6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2021 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewNetConn

func NewNetConn(remoteAddress string, localAddress ...string) (conn *net.UDPConn, err error)

NewNetConn 根据地址创建并返回一个 *net.UDPConn

func Write

func Write(address string, data []byte, retry ...Retry) error

Write 使用 UDP 短连接的方式发送数据 参数 <address> 是目标地址 参数 <data> 是待发送的数据 可选参数 <retry> 用于重试

func WriteRead

func WriteRead(address string, data []byte, buffer int, retry ...Retry) ([]byte, error)

WriteRead 使用 UDP 连接写入数据,并阻塞读取数据 参数 <address> 是目标地址 参数 <data> 是待发送的数据 参数 <buffer> 是缓冲区大小,<buffer> <= 0 则使用默认大小 1024 可选参数 <retry> 用于重试

Types

type Conn

type Conn struct {
	*net.UDPConn
	// contains filtered or unexported fields
}

Conn 对 UDP 连接的封装

func NewConn

func NewConn(remoteAddress string, localAddress ...string) (*Conn, error)

NewConn 根据 <remoteAddress> 创建一个 UDP 连接对象 可选参数 <localAddress> 指定本地地址

func NewConnByNetConn

func NewConnByNetConn(udp *net.UDPConn) *Conn

NewConnByNetConn 根据 <udp> 创建一个 UDP 连接对象

func (*Conn) Read

func (c *Conn) Read(buffer int, retry ...Retry) ([]byte, error)

Read 接受数据 参数 <buffer> 是自定义缓冲区大小,如果 <buffer> <= 0,则使用默认大小 1024 可选参数 <retry> 用于重试

func (*Conn) ReadWithTimeout

func (c *Conn) ReadWithTimeout(buffer int, timeout time.Duration, retry ...Retry) ([]byte, error)

ReadWithTimeout 指定时间内读取数据

func (*Conn) RemoteAddr

func (c *Conn) RemoteAddr() net.Addr

RemoteAddr 返回连接的远程地址

func (*Conn) SetDeadline

func (c *Conn) SetDeadline(timeout time.Time) (err error)

SetDeadline 设置读写超时时间

func (*Conn) SetReadBufferWait

func (c *Conn) SetReadBufferWait(d time.Duration)

SetReadBufferWait 设置读取数据的缓冲区等待时间

func (*Conn) SetReadDeadline

func (c *Conn) SetReadDeadline(timeout time.Time) (err error)

SetReadDeadline 设置读取数据的超时时间

func (*Conn) SetWriteDeadline

func (c *Conn) SetWriteDeadline(timeout time.Time) (err error)

SetWriteDeadline 设置写入数据的超时时间

func (*Conn) Write

func (c *Conn) Write(data []byte, retry ...Retry) (err error)

Write 向连接写入数据 参数 <data> 是要写入的数据 可选参数 <retry> 用于重试

func (*Conn) WriteRead

func (c *Conn) WriteRead(data []byte, buffer int, retry ...Retry) ([]byte, error)

WriteRead 向连接写入数据并阻塞接受数据 参数 <data> 是要写入的数据 参数 <buffer> 是自定义缓冲区大小,如果 <buffer> <= 0,则使用默认大小 1024 可选参数 <retry> 用于重试

func (*Conn) WriteReadWithTimeout

func (c *Conn) WriteReadWithTimeout(data []byte, buffer int, timeout time.Duration, retry ...Retry) ([]byte, error)

WriteReadWithTimeout 指定时间读写数据

func (*Conn) WriteWithTimeout

func (c *Conn) WriteWithTimeout(data []byte, timeout time.Duration, retry ...Retry) error

WriteWithTimeout 指定时间内写入数据

type Retry

type Retry struct {
	Count    int           // 最大重试次数
	Interval time.Duration // 重试时间间隔
}

Retry 重试

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server UDP服务器

func NewServer

func NewServer(address string, handler func(*Conn)) *Server

NewServer 创建一个 UDP 服务器 参数 <address> 是服务器监听的地址 参数 <handler> 是服务器处理程序,启动时会自动运行该处理程序

func (*Server) Close

func (s *Server) Close() error

Close 关闭 UDP 服务器连接

func (*Server) Run

func (s *Server) Run() error

Run 开始监听 UDP 服务器连接

func (*Server) SetAddress

func (s *Server) SetAddress(address string)

SetAddress 设置 UDP 服务地址

func (*Server) SetHandler

func (s *Server) SetHandler(handler func(*Conn))

SetHandler 设置 UDP 服务器处理程序

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL