websocket

package module
v0.0.0-...-32965de Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2018 License: Apache-2.0 Imports: 8 Imported by: 0

README

websocket GoDoc

Multi-client websocket subscription server/client library for APIBox.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Conn

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

func NewConn

func NewConn(wsConn *ws.Conn, params url.Values) *Conn

func (*Conn) Close

func (conn *Conn) Close() error

func (*Conn) Params

func (conn *Conn) Params() url.Values

func (*Conn) Send

func (conn *Conn) Send(packet *Packet) error

func (*Conn) Serve

func (conn *Conn) Serve(peer *Peer) error

func (*Conn) Write

func (conn *Conn) Write(data string) error

type Handler

type Handler interface {
	ServeConn(conn *Conn)
	ServeConnClosed(conn *Conn)
	ServeAction(action string, conn *Conn, packetDecoder *PacketDecoder)
}

type Packet

type Packet struct {
	Header map[string]interface{} `json:"h,omitempty"`
	Action string                 `json:"a"`
	Data   interface{}            `json:"d,omitempty"`
	Error  *PacketError           `json:"e,omitempty"`
}

func NewPacket

func NewPacket(action string) *Packet

func (*Packet) Marshal

func (packet *Packet) Marshal() ([]byte, error)

func (*Packet) SetData

func (packet *Packet) SetData(data interface{}) *Packet

func (*Packet) SetError

func (packet *Packet) SetError(errCode, errMsg string) *Packet

func (*Packet) SetHeader

func (packet *Packet) SetHeader(header map[string]interface{}) *Packet

type PacketDecoder

type PacketDecoder struct {
	*json.Decoder
	// contains filtered or unexported fields
}

func NewPacketDecoder

func NewPacketDecoder(data []byte) *PacketDecoder

func (*PacketDecoder) ParseAction

func (decoder *PacketDecoder) ParseAction() (string, error)

func (*PacketDecoder) ParseData

func (decoder *PacketDecoder) ParseData(data interface{}) error

type PacketError

type PacketError struct {
	Code    string `json:"code"`
	Message string `json:"message"`
}

type Peer

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

func NewPeer

func NewPeer() *Peer

func (*Peer) Handle

func (peer *Peer) Handle(handler Handler)

func (*Peer) HandleActionFunc

func (peer *Peer) HandleActionFunc(action string, actionHandler func(conn *Conn, packetDecoder *PacketDecoder))

收到action包处理

func (*Peer) HandleConnClosedFunc

func (peer *Peer) HandleConnClosedFunc(connClosedHandler func(conn *Conn))

连接关闭处理

func (*Peer) HandleConnFunc

func (peer *Peer) HandleConnFunc(connHandler func(conn *Conn))

连接成功处理

type Server

type Server struct {
	*Peer
}

func NewServer

func NewServer() *Server

func (*Server) Serve

func (server *Server) Serve(c *api.Context) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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