websockets

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	WebsocketConnOptionErr                                 WebsocketConnOption
	SyncMessageTimeoutErr                                  SyncMessageTimeout
	WebsocketOfflineErr                                    WebsocketOffline
	AsyncMessageCallbackEmptyErr                           AsyncMessageCallbackEmpty
	AsyncMessageTimeoutErr                                 AsyncMessageTimeout
	WebsocketClientExistErr                                WebsocketClientExist
	WebsocketClientNotExistErr                             WebsocketClientNotExist
	WebsocketServerConnConditionFuncEmptyErr               WebsocketServerConnConditionFuncEmpty
	WebsocketServerConnTagEmptyErr                         WebsocketServerConnTagEmpty
	WebsocketServerConnTagExistErr                         WebsocketServerConnTagExist
	WebsocketServerOnReceiveMessageSuccessCallbackEmptyErr WebsocketServerOnReceiveMessageSuccessCallbackEmpty
)

Functions

This section is empty.

Types

type AsyncMessageCallbackEmpty

type AsyncMessageCallbackEmpty struct{ myError.MyError }

func (*AsyncMessageCallbackEmpty) Error

func (my *AsyncMessageCallbackEmpty) Error() string

func (*AsyncMessageCallbackEmpty) Is

func (*AsyncMessageCallbackEmpty) Is(target error) bool

func (*AsyncMessageCallbackEmpty) New

func (*AsyncMessageCallbackEmpty) Panic

func (*AsyncMessageCallbackEmpty) Wrap

type AsyncMessageTimeout

type AsyncMessageTimeout struct{ myError.MyError }

func (*AsyncMessageTimeout) Error

func (my *AsyncMessageTimeout) Error() string

func (*AsyncMessageTimeout) Is

func (*AsyncMessageTimeout) Is(target error) bool

func (*AsyncMessageTimeout) New

func (*AsyncMessageTimeout) Panic

func (*AsyncMessageTimeout) Wrap

type Client

type Client struct {
	// contains filtered or unexported fields
}
var ClientApp Client

func NewClient

func NewClient(
	groupName, name, addr string,
	clientCallbackConfig ClientCallbackConfig,
	options ...any,
) (client *Client, err error)

NewClient 实例化:链接

func (*Client) AppendReqHdr

func (my *Client) AppendReqHdr(hdr http.Header) *Client

AppendReqHdr 新增请求头

func (*Client) AppendRequestHeader

func (my *Client) AppendRequestHeader(header http.Header) *Client

AppendRequestHeader 新增请求头

func (*Client) AsyncMessage

func (my *Client) AsyncMessage(message []byte, fn clientCallbackFn, timeout time.Duration) *Client

AsyncMessage 发送消息:异步

func (*Client) AsyncMsg

func (my *Client) AsyncMsg(msg []byte, fn clientCallbackFn, to time.Duration) *Client

AsyncMsg 发送消息:异步

func (*Client) Boot

func (my *Client) Boot() *Client

Boot 启动链接,并打开监听

func (*Client) Close

func (my *Client) Close() *Client

Close 关闭链接

func (*Client) Cls

func (my *Client) Cls() *Client

Cls 关闭链接

func (*Client) Err

func (my *Client) Err() error

Err 获取错误

func (*Client) Error

func (my *Client) Error() error

Error 获取错误

func (*Client) GetAddr

func (my *Client) GetAddr() string

GetAddr 获取链接地址

func (*Client) GetAddress

func (my *Client) GetAddress() string

GetAddress 获取链接地址

func (*Client) GetConn

func (my *Client) GetConn() *websocket.Conn

GetConn 获取链接本体

func (*Client) GetConnection

func (my *Client) GetConnection() *websocket.Conn

GetConnection 获取链接本体

func (*Client) GetName

func (my *Client) GetName() string

GetName 获取链接名称

func (*Client) GetReqHdr

func (my *Client) GetReqHdr() http.Header

GetReqHdr 获取请求头

func (*Client) GetRequestHeaders

func (my *Client) GetRequestHeaders() http.Header

GetRequestHeaders 获取请求头

func (*Client) GetStatus

func (my *Client) GetStatus() WebsocketConnStatus

GetStatus 获取链接状态

func (*Client) Heart

func (my *Client) Heart(interval time.Duration, fn clientHeartFn) *Client

Heart 设置或重置心跳

func (*Client) New

func (*Client) New(
	groupName, name, addr string,
	clientCallbackConfig ClientCallbackConfig,
	options ...any,
) (*Client, error)

New 实例化:链接

func (*Client) Once

func (*Client) Once() *ClientInstancePool

func (*Client) Ping

func (my *Client) Ping(fn pingFn) *Client

Ping 发送ping

func (*Client) ReBoot

func (my *Client) ReBoot() error

ReBoot 重连

func (*Client) SetReqHdr

func (my *Client) SetReqHdr(hdr http.Header) *Client

SetReqHdr 设置请求头

func (*Client) SetRequestHeaders

func (my *Client) SetRequestHeaders(header http.Header) *Client

SetRequestHeaders 设置请求头

func (*Client) SyncMessage

func (my *Client) SyncMessage(message []byte, options ...any) ([]byte, error)

SyncMessage 发送消息:同步

func (*Client) SyncMsg

func (my *Client) SyncMsg(msg []byte, options ...any) ([]byte, error)

SyncMsg 发送消息:同步

type ClientCallbackConfig

type ClientCallbackConfig struct {
	OnConnSuccessCallback           clientStandardSuccessFn
	OnConnFailCallback              clientStandardFailFn
	OnCloseSuccessCallback          clientStandardSuccessFn
	OnCloseFailCallback             clientStandardFailFn
	OnReceiveMessageSuccessCallback clientReceiveMessageSuccessFn
	OnReceiveMessageFailCallback    clientStandardFailFn
	OnSendMessageFailCallback       clientStandardFailFn
}

ClientCallbackConfig 客户端回调

type ClientInstance

type ClientInstance struct {
	// contains filtered or unexported fields
}
var ClientInstanceApp ClientInstance

func NewClientInstance

func NewClientInstance(name string) *ClientInstance

NewClientInstance 实例化:websocket客户端实例

func (*ClientInstance) Append

func (my *ClientInstance) Append(client *Client) error

Append 增加客户端

func (*ClientInstance) Clean

func (my *ClientInstance) Clean() []error

Clean 清空客户端

func (*ClientInstance) Close

func (my *ClientInstance) Close(name string) error

Close 关闭客户端

func (*ClientInstance) Get

func (my *ClientInstance) Get(name string) (*Client, error)

Get 获取客户端

func (*ClientInstance) Has

func (my *ClientInstance) Has(name string) bool

Has 检查客户端是否存在

func (*ClientInstance) New

func (*ClientInstance) New(name string) *ClientInstance

New 实例化:websocket客户端实例

func (*ClientInstance) Remove

func (my *ClientInstance) Remove(name string) error

Remove 删除客户端

type ClientInstancePool

type ClientInstancePool struct {
	// contains filtered or unexported fields
}
var (
	ClientInstancePoolApp ClientInstancePool
)

func OnceClientInstancePool

func OnceClientInstancePool() *ClientInstancePool

OnceClientInstancePool 单例化:websocket客户端实例池

func (*ClientInstancePool) Append

func (*ClientInstancePool) Append(clientInstance *ClientInstance) error

Append 增加客户端

func (*ClientInstancePool) Clean

func (*ClientInstancePool) Clean() []error

Clean 清空客户端实例

func (*ClientInstancePool) Close

func (*ClientInstancePool) Close(name string) error

Close 关闭客户端

func (*ClientInstancePool) Get

Get 获取客户端

func (*ClientInstancePool) Has

func (*ClientInstancePool) Has(name string) bool

Has 检查客户端是否存在

func (*ClientInstancePool) Remove

func (*ClientInstancePool) Remove(name string) error

Remove 删除客户端

type Message

type Message struct {
	// contains filtered or unexported fields
}
var MessageApp Message

func NewMessage

func NewMessage(async bool, message []byte) Message

NewMessage 新建消息

func ParseMessage

func ParseMessage(prototypeMessage []byte) Message

ParseMessage 解析消息

func (*Message) GetAsync

func (my *Message) GetAsync() bool

GetAsync 获取同步类型

func (*Message) GetMessage

func (my *Message) GetMessage() []byte

GetMessage 获取消息

func (*Message) GetMessageId

func (my *Message) GetMessageId() string

GetMessageId 获取消息编号

func (*Message) GetPrototypeMessage

func (my *Message) GetPrototypeMessage() []byte

GetPrototypeMessage 获取原始消息

func (*Message) New

func (*Message) New(async bool, message []byte) Message

New 新建消息

func (*Message) Parse

func (*Message) Parse(prototypeMessage []byte) Message

Parse 解析消息

type Server

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

func NewServer

func NewServer(conn *websocket.Conn) *Server

NewServer 实例话:websocket服务端

func (*Server) AsyncMessage

func (my *Server) AsyncMessage(prototypeMessage []byte, onSuccess serverSendMessageSuccessFn, onFail serverSendMessageFailFn)

AsyncMessage 发送消息:异步

func (*Server) Boot

func (my *Server) Boot(
	onReceiveMessageSuccess serverReceiveMessageSuccessFn,
	onReceiveMessageFail serverReceiveMessageFailFn,
	onSendMessageFail serverSendMessageFailFn,
	onCloseCallback serverCloseCallbackFn,
) error

Boot 启动

func (*Server) Close

func (my *Server) Close() *Server

Close 关闭

func (*Server) Conn

func (my *Server) Conn() *websocket.Conn

Conn 获取链接

func (*Server) IsOffline

func (my *Server) IsOffline() bool

IsOffline 是否离线

func (*Server) IsOnline

func (my *Server) IsOnline() bool

IsOnline 是否在线

func (*Server) New

func (*Server) New(conn *websocket.Conn) *Server

func (*Server) SyncMessage

func (my *Server) SyncMessage(prototypeMessage []byte, onSuccess serverSendMessageSuccessFn, onFail serverSendMessageFailFn)

SyncMessage 发送消息:同步

type ServerCallbackConfig

type ServerCallbackConfig struct {
	OnConnectionFail        serverConnectionFailFn
	OnConnectionSuccess     serverConnectionSuccessFn
	OnSendMessageSuccess    serverSendMessageSuccessFn
	OnSendMessageFail       serverSendMessageFailFn
	OnReceiveMessageFail    serverReceiveMessageFailFn
	OnReceiveMessageSuccess serverReceiveMessageSuccessFn
	OnCloseCallback         serverCloseCallbackFn
}

type ServerPool

type ServerPool struct {
	// contains filtered or unexported fields
}
var (
	ServerPoolApp ServerPool
)

func OnceServer

func OnceServer(serverCallbackConfig ServerCallbackConfig) *ServerPool

OnceServer 单例化:websocket服务端

func (*ServerPool) Handle

func (*ServerPool) Handle(
	writer http.ResponseWriter,
	req *http.Request,
	header http.Header,
	condition serverConnectionCheckFn,
) *ServerPool

Handle 消息处理

func (*ServerPool) Once

func (*ServerPool) Once(serverCallbackConfig ServerCallbackConfig) *ServerPool

Once 单例化:websocket服务端

func (*ServerPool) SendMessageByAddr

func (*ServerPool) SendMessageByAddr(addr *string, prototypeMessage []byte)

SendMessageByAddr 发送消息:通过地址

func (*ServerPool) SendMessageByAuthId

func (*ServerPool) SendMessageByAuthId(authId *string, prototypeMessage []byte)

SendMessageByAuthId 发送消息:通过认证ID

func (*ServerPool) SendMsgByAddr

func (my *ServerPool) SendMsgByAddr(addr *string, propMsg []byte)

SendMsgByAddr 发送消息:通过地址

func (*ServerPool) SendMsgByAuthId

func (my *ServerPool) SendMsgByAuthId(authId *string, propMsg []byte)

SendMsgByAuthId 发送消息:通过认证ID

func (*ServerPool) SetOnCloseCallback

func (*ServerPool) SetOnCloseCallback(onCloseCallback serverCloseCallbackFn) *ServerPool

SetOnCloseCallback 设置回调:关闭时回调

func (*ServerPool) SetOnClsCb

func (my *ServerPool) SetOnClsCb(fn serverCloseCallbackFn) *ServerPool

SetOnClsCb 设置回调:关闭时回调

func (*ServerPool) SetOnConnFail

func (my *ServerPool) SetOnConnFail(fn serverConnectionFailFn) *ServerPool

SetOnConnFail 设置回调:当连接失败

func (*ServerPool) SetOnConnSuc

func (my *ServerPool) SetOnConnSuc(fn serverConnectionSuccessFn) *ServerPool

func (*ServerPool) SetOnConnectionFail

func (*ServerPool) SetOnConnectionFail(onConnectionFail serverConnectionFailFn) *ServerPool

SetOnConnectionFail 设置回调:当连接失败

func (*ServerPool) SetOnConnectionSuccess

func (*ServerPool) SetOnConnectionSuccess(onConnectionSuccess serverConnectionSuccessFn) *ServerPool

SetOnConnectionSuccess 设置回调:当连接成功

func (*ServerPool) SetOnRecMsgFail

func (my *ServerPool) SetOnRecMsgFail(fn serverReceiveMessageFailFn) *ServerPool

SetOnRecMsgFail 设置回调:当接收消息失败

func (*ServerPool) SetOnRecMsgSuc

func (my *ServerPool) SetOnRecMsgSuc(fn serverReceiveMessageSuccessFn) *ServerPool

SetOnRecMsgSuc 设置回调:当接收消息成功

func (*ServerPool) SetOnReceiveMessageFail

func (*ServerPool) SetOnReceiveMessageFail(onReceiveMessageFail serverReceiveMessageFailFn) *ServerPool

SetOnReceiveMessageFail 设置回调:当接收消息失败

func (*ServerPool) SetOnReceiveMessageSuccess

func (*ServerPool) SetOnReceiveMessageSuccess(onReceiveMessageSuccess serverReceiveMessageSuccessFn) *ServerPool

SetOnReceiveMessageSuccess 设置回调:当接收消息成功

func (*ServerPool) SetOnSendMessageFail

func (*ServerPool) SetOnSendMessageFail(onSendMessageFail serverSendMessageFailFn) *ServerPool

SetOnSendMessageFail 设置回调:当发送消息失败

func (*ServerPool) SetOnSendMessageSuccess

func (*ServerPool) SetOnSendMessageSuccess(onSendMessageSuccess serverSendMessageSuccessFn) *ServerPool

SetOnSendMessageSuccess 设置回调:当发送消息成功

func (*ServerPool) SetOnSendMsgFail

func (my *ServerPool) SetOnSendMsgFail(fn serverSendMessageFailFn) *ServerPool

SetOnSendMsgFail 设置回调:当发送消息失败

func (*ServerPool) SetOnSendMsgSuc

func (my *ServerPool) SetOnSendMsgSuc(fn serverSendMessageSuccessFn) *ServerPool

SetOnSendMsgSuc 设置回调:当发送消息成功

type ServerReceiveMessage

type ServerReceiveMessage struct {
	Target string `json:"target"`
}

type SyncMessageTimeout

type SyncMessageTimeout struct{ myError.MyError }

func (*SyncMessageTimeout) Error

func (my *SyncMessageTimeout) Error() string

func (*SyncMessageTimeout) Is

func (*SyncMessageTimeout) Is(target error) bool

func (*SyncMessageTimeout) New

func (*SyncMessageTimeout) Panic

func (*SyncMessageTimeout) Wrap

type WebsocketClientExist

type WebsocketClientExist struct{ myError.MyError }

func (*WebsocketClientExist) Error

func (my *WebsocketClientExist) Error() string

func (*WebsocketClientExist) Is

func (*WebsocketClientExist) Is(target error) bool

func (*WebsocketClientExist) New

func (*WebsocketClientExist) Panic

func (*WebsocketClientExist) Wrap

type WebsocketClientNotExist

type WebsocketClientNotExist struct{ myError.MyError }

func (*WebsocketClientNotExist) Error

func (my *WebsocketClientNotExist) Error() string

func (*WebsocketClientNotExist) Is

func (*WebsocketClientNotExist) Is(target error) bool

func (*WebsocketClientNotExist) New

func (*WebsocketClientNotExist) Panic

func (*WebsocketClientNotExist) Wrap

type WebsocketConnOption

type WebsocketConnOption struct{ myError.MyError }

func (*WebsocketConnOption) Error

func (my *WebsocketConnOption) Error() string

func (*WebsocketConnOption) Is

func (*WebsocketConnOption) Is(target error) bool

func (*WebsocketConnOption) New

func (*WebsocketConnOption) Panic

func (*WebsocketConnOption) Wrap

type WebsocketConnStatus

type WebsocketConnStatus string
var (
	Online  WebsocketConnStatus = "ON-LINE"
	Offline WebsocketConnStatus = "OFF-LINE"
)

type WebsocketOffline

type WebsocketOffline struct{ myError.MyError }

func (*WebsocketOffline) Error

func (my *WebsocketOffline) Error() string

func (*WebsocketOffline) Is

func (*WebsocketOffline) Is(target error) bool

func (*WebsocketOffline) New

func (*WebsocketOffline) Panic

func (*WebsocketOffline) Wrap

type WebsocketServerConnConditionFuncEmpty

type WebsocketServerConnConditionFuncEmpty struct{ myError.MyError }

func (*WebsocketServerConnConditionFuncEmpty) Error

func (*WebsocketServerConnConditionFuncEmpty) Is

func (*WebsocketServerConnConditionFuncEmpty) New

func (*WebsocketServerConnConditionFuncEmpty) Panic

func (*WebsocketServerConnConditionFuncEmpty) Wrap

type WebsocketServerConnTagEmpty

type WebsocketServerConnTagEmpty struct{ myError.MyError }

func (*WebsocketServerConnTagEmpty) Error

func (my *WebsocketServerConnTagEmpty) Error() string

func (*WebsocketServerConnTagEmpty) Is

func (*WebsocketServerConnTagEmpty) New

func (*WebsocketServerConnTagEmpty) Panic

func (*WebsocketServerConnTagEmpty) Wrap

type WebsocketServerConnTagExist

type WebsocketServerConnTagExist struct{ myError.MyError }

func (*WebsocketServerConnTagExist) Error

func (my *WebsocketServerConnTagExist) Error() string

func (*WebsocketServerConnTagExist) Is

func (*WebsocketServerConnTagExist) New

func (*WebsocketServerConnTagExist) Panic

func (*WebsocketServerConnTagExist) Wrap

type WebsocketServerOnReceiveMessageSuccessCallbackEmpty

type WebsocketServerOnReceiveMessageSuccessCallbackEmpty struct{ myError.MyError }

func (*WebsocketServerOnReceiveMessageSuccessCallbackEmpty) Error

func (*WebsocketServerOnReceiveMessageSuccessCallbackEmpty) Is

func (*WebsocketServerOnReceiveMessageSuccessCallbackEmpty) New

func (*WebsocketServerOnReceiveMessageSuccessCallbackEmpty) Panic

func (*WebsocketServerOnReceiveMessageSuccessCallbackEmpty) Wrap

Jump to

Keyboard shortcuts

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