goProject/trunk/framework/websocketServer/doc.go

74 lines
2.3 KiB
Go
Raw Normal View History

2025-01-06 16:01:02 +08:00
package websocketServer
/*
此包是对web_server包的封装并扩展出websocket相关功能
使用方法如下
初始化一个WsServer/WssServer
server := NewWsServer(addr string, isCheckIP bool)
server := NewWssServer(addr, certFileName, keyFileName string, isCheckIP bool)
其它调用方法见 webServer
websocket扩展方法
// 注册websocket回调
server.RegisterWebsocketHandler(path string, eventCallback *eventCallbackFuncs, configObj *web_server.HandlerConfig)
server.RegisterRegexWebsocketHandler(path string, eventCallback *eventCallbackFuncs, configObj *web_server.HandlerConfig)
// 设置websocket配置信息可以设置握手超时/读写缓存/是否允许跨域等)
server.SetUpgrader(upgrader *websocket.Upgrader)
// 获取websocket配置信息
server.GetUpgrader() *websocket.Upgrader
// 设置接收到Ping消息时是否自动回复Pong信息
server.SetAutoPong(autuPong bool)
// 获取接收到Ping消息时是否自动回复Pong信息
server.GetAutoPong() bool
// 设置心跳检测信息
server.SetHeartbeatDetectInfo(heartbeatCloseCount int, heartbeatCycle time.Duration)
// 获取心跳检测信息
server.GetHeartbeatDetectInfo() (heartbeatCloseCount int, heartbeatCycle time.Duration)
// 设置广播并发数
server.SetBroadcastConcurrent(n int)
// 允许新连接
server.EnableNewConn()
// 禁用新连接
server.DisableNewConn()
// 消息广播
server.BroadcastMessage(messageType int, data []byte)
// 关闭所有连接
server.CloseAll()
eventCallbackFuncs 回调
// websocket连接事件
OnConnFunc func(ctx *Context)
// websocket关闭事件
OnCloseFunc func(ctx *Context)
// websocket接收事件
OnMsgFunc func(ctx *Context, msgType int, msgData []byte)
回调参数说明
ctx - websocket环境提供了以下方法
GetWebServerContext() *web_server.Context - 获取web_server环境
GetUserData() interface{} - 获取用户自定义数据
SetUserData(userData interface{}) - 设置用户自定义数据
SendMessage(messageType int, data []byte) (err error) - 发送websocket数据
Close() - 关闭websocket连接
msgType - 接收到的websocket类型
msgData - 接收到的websocket数据
使用示例 wsServer_test.go
*/