Documentation
¶
Overview ¶
Package websocket implements a simple websocket client.
Package websocket implements a simple websocket connection manager.
Index ¶
- Constants
- func ProcessMsg(cli *Client, message []byte)
- type Callback
- type Client
- type ConnManagerIface
- type RecvMsg
- type SendMsg
- type Server
- type WsConnManage
- func (w *WsConnManage) BroadcastSession(sessionID string, msg []byte)
- func (w *WsConnManage) ClientsOfSession(sessionID string) []*Client
- func (w *WsConnManage) DestroyTask()
- func (w *WsConnManage) Heartbeat(cli *Client)
- func (w *WsConnManage) Register(cli *Client)
- func (w *WsConnManage) Unregister(cli *Client)
Constants ¶
View Source
const ( TypeSys = "sys" TypeHeartbeat = "heartbeat" )
Variables ¶
This section is empty.
Functions ¶
func ProcessMsg ¶
Types ¶
type Client ¶
type Client struct {
Addr string // client address
User string
Socket *websocket.Conn // user connection
IsActive bool
Send chan []byte // data to send
AccessTime int64 // access timestamp
OnDisconnect func(*Client)
}
Client is simple ws cli
type ConnManagerIface ¶
type ConnManagerIface interface {
Register(cli *Client)
Unregister(cli *Client)
Heartbeat(cli *Client)
DestroyTask()
BroadcastSession(sessionID string, msg []byte)
}
ConnManagerIface is the interface for the connection manager.
func NewWsConnManage ¶
func NewWsConnManage() ConnManagerIface
type SendMsg ¶
type Server ¶
type Server struct {
Register chan *Client // register connection handler
Unregister chan *Client // unregister connection handler
Heartbeat chan *Client // heartbeat handler
ConnManager ConnManagerIface // connection manager
}
Server ws cli manage
var WsServer *Server
func NewServer ¶
func NewServer(connManage ConnManagerIface) (clientManager *Server)
NewServer initializes a new server.
type WsConnManage ¶
type WsConnManage struct {
// contains filtered or unexported fields
}
func (*WsConnManage) BroadcastSession ¶
func (w *WsConnManage) BroadcastSession(sessionID string, msg []byte)
func (*WsConnManage) ClientsOfSession ¶
func (w *WsConnManage) ClientsOfSession(sessionID string) []*Client
func (*WsConnManage) DestroyTask ¶
func (w *WsConnManage) DestroyTask()
func (*WsConnManage) Heartbeat ¶
func (w *WsConnManage) Heartbeat(cli *Client)
func (*WsConnManage) Register ¶
func (w *WsConnManage) Register(cli *Client)
func (*WsConnManage) Unregister ¶
func (w *WsConnManage) Unregister(cli *Client)
Click to show internal directories.
Click to hide internal directories.