tcp

package
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2023 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrWriteNotAll 未能将信息全部写入
	ErrWriteNotAll = errors.New("write not all")

	// ErrStopSend 已关闭,不再收发消息
	ErrStopSend = errors.New("stop send message")

	// ErrWriteTimeout 放入发送队列超时 3秒
	ErrWriteTimeout = errors.New("write timeout")
)

Functions

func NewClient

func NewClient(handler zeronetwork.HandlerFunc, opts ...ClientOption) zeronetwork.Client

NewClient 创建一个 tcp 客户端,测试使用

func NewServer

func NewServer() zeronetwork.Peer

NewServer 创建一个 tcp 服务

Types

type ClientOption

type ClientOption func(*client)

ClientOption 设置配置选项

func WithClientCompress

func WithClientCompress(compress zerocompress.Compress) ClientOption

WithClientCompress 压缩与解压器

func WithClientCompressThreshold

func WithClientCompressThreshold(compressThreshold int) ClientOption

WithClientCompressThreshold 压缩的阈值,当消息负载长度超过该值时才会压缩

func WithClientDatapack

func WithClientDatapack(datapack zeronetwork.Datapack) ClientOption

WithClientDatapack 封包与解包

func WithClientLogger

func WithClientLogger(logger zerologger.Logger) ClientOption

WithClientLogger 设置日志

func WithClientLoggerLevel

func WithClientLoggerLevel(loggerLevel int) ClientOption

WithClientLoggerLevel 设置日志级别 见 https://github.com/zerogo-hub/zero-helper/blob/main/logger/logger.go WithLogger 设置日志

func WithClientOnConnClose

func WithClientOnConnClose(onConnClose zeronetwork.ConnFunc) ClientOption

WithClientOnConnClose 客户端连接关闭触发,此时客户端不可以再收发消息

func WithClientOnConnected

func WithClientOnConnected(onConnected zeronetwork.ConnFunc) ClientOption

WithClientOnConnected 客户端连接到来时触发,此时客户端已经可以开始收发消息

func WithClientRecvDeadLine

func WithClientRecvDeadLine(recvDeadLine time.Duration) ClientOption

WithClientRecvDeadLine 通信超时时间,最终调用 conn.SetReadDeadline

func WithClientRecvQueueSize

func WithClientRecvQueueSize(recvQueueSize int) ClientOption

WithClientRecvQueueSize 在 session 中接收到的消息队列大小,session 接收到消息后并非立即处理,而是丢到一个消息队列中,异步处理

func WithClientSendBufferSize

func WithClientSendBufferSize(sendBufferSize int) ClientOption

WithClientSendBufferSize 发送消息 buffer 大小

func WithClientSendDeadLine

func WithClientSendDeadLine(sendDeadLine time.Duration) ClientOption

WithClientSendDeadLine SendDeadline

func WithClientSendQueueSize

func WithClientSendQueueSize(sendQueueSize int) ClientOption

WithClientSendQueueSize 发送的消息队列大小,消息优先发送到 sesion 的消息队列,然后写入到套接字中

func WithClientWhetherCompress

func WithClientWhetherCompress(whetherCompress bool) ClientOption

WithClientWhetherCompress 是否需要对消息负载进行压缩

func WithClientWhetherCrypto

func WithClientWhetherCrypto(whetherCrypto bool) ClientOption

WithClientWhetherCrypto 是否需要对消息负载进行加密

Directories

Path Synopsis
example

Jump to

Keyboard shortcuts

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