Documentation ¶
Index ¶
- Constants
- Variables
- type Config
- type Conn
- func (c *Conn) Close() error
- func (c *Conn) IsClose() bool
- func (c *Conn) Open(w http.ResponseWriter, r *http.Request, h http.Header, processor Processor) error
- func (c *Conn) ProcessLoop()
- func (c *Conn) Read() *WSMessage
- func (c *Conn) ReadLoop()
- func (c *Conn) Write(msg *WSMessage) error
- func (c *Conn) WriteLoop()
- type Container
- func (c *Container) Config() *Config
- func (c *Container) Handle(typed string, handler Handler)
- func (c *Container) HandleFunc(typed string, handler func(*Conn, *Message))
- func (c *Container) OpenConn(w http.ResponseWriter, r *http.Request)
- func (c *Container) OpenConnGin(ctx *gin.Context)
- func (c *Container) OpenConnSpring(ctx SpringWeb.WebContext)
- func (c *Container) Register(conn *Conn)
- func (c *Container) Route(typed string) Handler
- func (c *Container) Start()
- func (c *Container) Stop() error
- func (c *Container) UnRegister(conn *Conn)
- type Handler
- type HandlerFunc
- type Hub
- type Logger
- type Message
- type Param
- type ParamType
- type Processor
- type ProcessorFactory
- type RawMessage
- type Server
- type WSMessage
Constants ¶
View Source
const DefaultWebSocketKey = "WebSocket"
Variables ¶
View Source
var (
ErrConnClosed = errors.New("websocket connection closed")
)
View Source
var HandlerInvoke = defaultHandlerInvoke
HandlerInvoke 可自定义的 websocket 执行函数
View Source
var ProcessMessage = defaultProcessMessage
View Source
var ProcessSubprotocols = defaultProcessSubprotocols
Functions ¶
This section is empty.
Types ¶
type Config ¶ added in v0.0.7
type Config struct { Enable bool `value:"${web.server.websocket.enable:=false}"` //是否启用WebSocket Origin bool `value:"${web.server.websocket.origin:=true}"` //是否启用跨域 ReadDeadline time.Duration `value:"${web.server.websocket.read_deadline:=0}"` //消息单次读取超时时间,单位:秒 WriteDeadline time.Duration `value:"${web.server.websocket.write_deadline:=0}"` //消息单次写入超时时间,单位:秒 ReadBufferSize int `value:"${web.server.websocket.read_buffer_size:=20480}"` //connect read buffer size: 20kb WriteBufferSize int `value:"${web.server.websocket.write_buffer_size:=20480}"` //connect write buffer size: 20kb MaxMessageSize int64 `value:"${web.server.websocket.max_message_size:=65535}"` //从消息管道读取消息的最大字节: 65535 byte ProcessorPoolSize int `value:"${web.server.websocket.processor_pool_size:=10}"` //处理器协程池大小 InChanSize int `value:"${web.server.websocket.in_chan_size:=100}"` //已读管道大小 OutChanSize int `value:"${web.server.websocket.out_chan_size:=100}"` //待写管道大小 }
func DefaultConfig ¶ added in v0.0.7
func DefaultConfig() *Config
type Container ¶ added in v0.0.7
type Container struct {
// contains filtered or unexported fields
}
func NewContainer ¶ added in v0.0.7
func NewContainer(processorFactory ProcessorFactory, config *Config) *Container
func (*Container) HandleFunc ¶ added in v0.0.7
func (*Container) OpenConn ¶ added in v0.0.7
func (c *Container) OpenConn(w http.ResponseWriter, r *http.Request)
func (*Container) OpenConnGin ¶ added in v0.0.7
func (*Container) OpenConnSpring ¶ added in v0.0.7
func (c *Container) OpenConnSpring(ctx SpringWeb.WebContext)
func (*Container) UnRegister ¶ added in v0.0.7
type HandlerFunc ¶
func (HandlerFunc) Invoke ¶
func (f HandlerFunc) Invoke(conn *Conn, msg *Message)
type Message ¶
type Message struct { Type string `json:"type"` //消息类型 SN int `json:"sn"` //流水号 Code int `json:"code"` //状态码 Msg string `json:"msg,omitempty"` //消息 Data interface{} `json:"data,omitempty"` //结果数据 }
func NewErrorMessage ¶
func NewMessage ¶
func NewSuccessMessage ¶
func NewSuccessMessage(datas ...interface{}) *Message
type Processor ¶ added in v0.0.7
type ProcessorFactory ¶ added in v0.0.7
type RawMessage ¶
type RawMessage struct { *Message Data json.RawMessage `json:"data,omitempty"` }
func (*RawMessage) Msg ¶
func (r *RawMessage) Msg() *Message
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func (*Server) AddContainer ¶ added in v0.0.7
AddContainer 添加 Container 实例
func (*Server) Containers ¶ added in v0.0.7
Containers 返回 Container 实例列表
Source Files ¶
Click to show internal directories.
Click to hide internal directories.