tcp

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: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewNetConn

func NewNetConn(address string, timeout ...time.Duration) (conn net.Conn, err error)

NewNetConn 根据 <address> 创建一个 net.Conn 连接对象 可选参数 <timeout> 是连接超时时间

func Send

func Send(c contract.Client) ([]byte, error)

Send 发送命令并接受数据

func Write

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

Write 向 <address> 的 TCP 服务写入数据

func WriteRead

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

WriteRead 向 <address> 的 TCP 服务写入数据并阻塞等待读取数据

Types

type Conn

type Conn struct {
	net.Conn // 底层 TCP 连接对象
	// contains filtered or unexported fields
}

Conn TCP 连接对象

func NewConn

func NewConn(address string, timeout ...time.Duration) (*Conn, error)

NewConn 根据 <address> 创建一个新的 TCP 连接对象 可选参数 <timeout> 是连接超时时间

func NewConnByNetConn

func NewConnByNetConn(conn net.Conn) *Conn

NewConnByNetConn 根据 <conn> 创建一个 TCP 连接对象

func (*Conn) Read

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

Read 从连接中读取数据 参数 <buffer> 是缓存区的大小 可选参数 <retry> 用于重试 buffer = 0 表示从当前缓冲区接受数据并立即返回 buffer < 0 表示从连接接受所有数据,直到没有数据为止 buffer > 0 表示接受到 <buffer> 长度直接返回

func (*Conn) Write

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

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

func (*Conn) WriteRead

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

WriteRead 向连接写入数据并阻塞读取数据

type Retry

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

Retry 重试

type Server

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

func NewServer

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

func (*Server) Close

func (s *Server) Close() error

func (*Server) Run

func (s *Server) Run() error

Jump to

Keyboard shortcuts

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