wsc

package module
v0.0.0-...-941bcef Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2024 License: MIT Imports: 6 Imported by: 2

README

wsc

GoDoc Go.Dev reference codecov Tests Go Report Card Licence Tag

Features

  • reconnect
  • keepalive

Usage

Installation

Use go get.

    go get github.com/wyy-go/wlog

Then import the package into your own code.

    import "github.com/wyy-go/wlog"
Example

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	CloseErr  = errors.New("connection closed")
	BufferErr = errors.New("message buffer is full")
)

Functions

This section is empty.

Types

type Config

type Config struct {
	// 写超时
	WriteWait time.Duration
	// 支持接受的消息最大长度,默认512字节
	MaxMessageSize int64
	// 最小重连时间间隔
	MinRecTime time.Duration
	// 最大重连时间间隔
	MaxRecTime time.Duration
	// 每次重连失败继续重连的时间间隔递增的乘数因子,递增到最大重连时间间隔为止
	RecFactor float64
	// 消息发送缓冲池大小,默认256
	MessageBufferSize int
	// 心跳包时间间隔
	KeepaliveTime time.Duration
	// 允许断线重连
	EnableReconnect bool
}

type WebSocket

type WebSocket struct {
	// 连接url
	Url           string
	Conn          *websocket.Conn
	Dialer        *websocket.Dialer
	RequestHeader http.Header
	HttpResponse  *http.Response
	// contains filtered or unexported fields
}

type Wsc

type Wsc struct {
	// 配置信息
	Config *Config
	// 底层WebSocket
	WebSocket *WebSocket
	// contains filtered or unexported fields
}

func New

func New(url string) *Wsc

New 创建一个Wsc客户端

func (*Wsc) Close

func (wsc *Wsc) Close()

Close 主动关闭连接

func (*Wsc) CloseWithMsg

func (wsc *Wsc) CloseWithMsg(msg string)

CloseWithMsg 主动关闭连接,附带消息

func (*Wsc) Connect

func (wsc *Wsc) Connect()

Connect 发起连接

func (*Wsc) IsConnected

func (wsc *Wsc) IsConnected() bool

IsConnected 返回连接状态

func (*Wsc) OnBinaryMessageReceived

func (wsc *Wsc) OnBinaryMessageReceived(f func(data []byte))

func (*Wsc) OnBinaryMessageSent

func (wsc *Wsc) OnBinaryMessageSent(f func(data []byte))

func (*Wsc) OnClose

func (wsc *Wsc) OnClose(f func(code int, text string))

func (*Wsc) OnConnectError

func (wsc *Wsc) OnConnectError(f func(err error))

func (*Wsc) OnConnected

func (wsc *Wsc) OnConnected(f func())

func (*Wsc) OnDisconnected

func (wsc *Wsc) OnDisconnected(f func(err error))

func (*Wsc) OnKeepalive

func (wsc *Wsc) OnKeepalive(f func())

func (*Wsc) OnPingReceived

func (wsc *Wsc) OnPingReceived(f func(appData string))

func (*Wsc) OnPongReceived

func (wsc *Wsc) OnPongReceived(f func(appData string))

func (*Wsc) OnSentError

func (wsc *Wsc) OnSentError(f func(err error))

func (*Wsc) OnTextMessageReceived

func (wsc *Wsc) OnTextMessageReceived(f func(message []byte))

func (*Wsc) OnTextMessageSent

func (wsc *Wsc) OnTextMessageSent(f func(message []byte))

func (*Wsc) SendBinaryMessage

func (wsc *Wsc) SendBinaryMessage(data []byte) error

SendBinaryMessage 发送BinaryMessage消息

func (*Wsc) SendTextMessage

func (wsc *Wsc) SendTextMessage(message string) error

SendTextMessage 发送TextMessage消息

func (*Wsc) SetConfig

func (wsc *Wsc) SetConfig(config *Config)

Jump to

Keyboard shortcuts

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