goProject/.svn/pristine/15/15c0d6e3d729f98b5b8564f2033328f4aee93dc0.svn-base
2025-01-06 16:21:36 +08:00

77 lines
1.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ************************************
// @package: websocketServer
// @description: WsServer/WssServer接口以便统一调用
// @author:
// @revision history:
// @create date: 2022-02-22 16:07:27
// ************************************
package websocketServer
import (
"github.com/gorilla/websocket"
webServer "Framework/webServer"
"sync"
"time"
)
// IServer
// @description: WsServer/WssServer接口以便统一调用
type IServer interface {
//-------------------------------------
// HttpServer方法
// HttpServer接口
webServer.IWebServer
// 设置地址
SetAddr(addr string)
// 启动HttpServer
Start(wg *sync.WaitGroup)
//-------------------------------------
// websocket方法
// 注册websocket回调
RegisterWebsocketHandler(path string, eventCallback *EventCallbackFuncs, configObj *webServer.HandlerConfig)
// 注册正则websocket回调
RegisterRegexWebsocketHandler(path string, eventCallback *EventCallbackFuncs, configObj *webServer.HandlerConfig)
// 设置websocket参数结构
SetUpgrader(upgrader *websocket.Upgrader)
// 获取websocket参数结构
GetUpgrader() *websocket.Upgrader
// 设置接收到Ping消息时是否自动回复Pong信息
SetAutoPong(autuPong bool)
// 获取接收到Ping消息时是否自动回复Pong信息
GetAutoPong() bool
// 设置心跳检测信息
SetHeartbeatDetectInfo(heartbeatCloseCount int, heartbeatCycle time.Duration)
// 获取心跳检测信息
GetHeartbeatDetectInfo() (heartbeatCloseCount int, heartbeatCycle time.Duration)
// 设置广播并发数
SetBroadcastConcurrent(n int)
// 允许新连接
EnableNewConn()
// 禁用新连接
DisableNewConn()
// 多播消息(给指定多用户发送消息)
MulticastMessage(ctxs []*Context, messageType int, data []byte) (err error)
// 消息广播
BroadcastMessage(messageType int, data []byte) (err error)
// 关闭所有连接
CloseAll()
}