websocket

package
v0.17.3 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2025 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(area string, method string, route string, actionFunc any, filters []context.IFilter, paramNames ...string) *context.HttpRoute

Register 注册单个Api

func SocketHandler

func SocketHandler(route *context.HttpRoute) websocket.Handler

Types

type BaseContext

type BaseContext struct {
	Ctx ctx.Context // 用于通知应用端是否断开连接

	AutoExit    bool                 // 当断开连接时,自动退出
	HttpContext *context.HttpContext // 上下文
	// contains filtered or unexported fields
}

func (*BaseContext) Close

func (receiver *BaseContext) Close()

Close 关闭连接

func (*BaseContext) ForReceiverFunc

func (receiver *BaseContext) ForReceiverFunc(f func(message string))

ForReceiverFunc 持续接收消息然后执行f(),然后再接收

func (*BaseContext) GetHeader

func (receiver *BaseContext) GetHeader(key string) string

GetHeader 获取头部

func (*BaseContext) GetParam

func (receiver *BaseContext) GetParam(key string) any

GetParam 获取来自URL的参数

func (*BaseContext) IsClose

func (receiver *BaseContext) IsClose() bool

IsClose 是否已断开连接

func (*BaseContext) ReceiverMessage

func (receiver *BaseContext) ReceiverMessage() string

ReceiverMessage 接收消息

func (*BaseContext) ReceiverMessageFunc

func (receiver *BaseContext) ReceiverMessageFunc(d time.Duration, f func(message string))

ReceiverMessageFunc 接收消息。当收到消息后,会执行f()

func (*BaseContext) Send

func (receiver *BaseContext) Send(msg any) error

Send 发送消息,如果msg不是go的基础类型,则会自动序列化成json

type Context

type Context[T any] struct {
	*BaseContext
	// contains filtered or unexported fields
}

Context websocket上下文

func (*Context[T]) ForReceiverFunc

func (receiver *Context[T]) ForReceiverFunc(f func(message *T))

ForReceiverFunc 持续接收消息然后执行f(),然后再接收

func (*Context[T]) ItemType

func (receiver *Context[T]) ItemType() T

ItemType 泛型类型

func (*Context[T]) Receiver

func (receiver *Context[T]) Receiver() T

Receiver 接收消息

func (*Context[T]) ReceiverFunc

func (receiver *Context[T]) ReceiverFunc(d time.Duration, f func(message *T))

ReceiverFunc 当收到下一条消息时,会停止上一条消息的f()执行,然后再执行下一条消息的f()。如果没有收到消息,则会一直定时间隔执行f()

func (*Context[T]) SetContext

func (receiver *Context[T]) SetContext(httpContext *context.HttpContext)

SetContext 收到请求时,设置上下文(webapi使用)

type HandleMiddleware

type HandleMiddleware struct {
}

func (HandleMiddleware) Invoke

func (receiver HandleMiddleware) Invoke(httpContext *context.HttpContext)

Jump to

Keyboard shortcuts

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