From 58bb382499aabfd30eb1f2350384817c75070f35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Sat, 5 Jun 2021 22:13:09 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- abstract/ICommand.go | 10 +++++----- abstract/IWebsocket.go | 20 ++++++++++---------- config/command.go | 14 +++++++------- config/server.go | 39 +++++++++++++++++++++++++-------------- construct.go | 10 +++++----- context/context.go | 10 +++++----- define.go | 12 ++++++------ example/server.go | 2 +- message/message.go | 6 +++--- storage/IStorage.go | 4 ++-- storage/connection.go | 4 ++-- 11 files changed, 71 insertions(+), 60 deletions(-) diff --git a/abstract/ICommand.go b/abstract/ICommand.go index eee04be..b0ca956 100644 --- a/abstract/ICommand.go +++ b/abstract/ICommand.go @@ -2,7 +2,7 @@ // // Description : 长连接命令的约束 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-03-27 6:34 下午 package abstract @@ -14,25 +14,25 @@ import ( // ICommand 指令 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 6:35 下午 2021/3/27 type ICommand interface { // GetCommand 注册的客户端指令 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 7:21 下午 2021/3/27 GetCommand() string // GetConfigOption 获取指令的配置 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 2:49 下午 2021/4/17 GetConfigOption() []config.SetCommandConfig // Execute 执行指令的逻辑 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 7:21 下午 2021/3/27 Execute(ctx *context.WSContext, data []byte) (interface{}, error) diff --git a/abstract/IWebsocket.go b/abstract/IWebsocket.go index 6050b11..53d5ce1 100644 --- a/abstract/IWebsocket.go +++ b/abstract/IWebsocket.go @@ -2,7 +2,7 @@ // // Description : 长连接模块的基础约束 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-03-27 6:32 下午 package abstract @@ -14,56 +14,56 @@ import ( // IWebsocket 接口约束 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 6:35 下午 2021/3/27 type IWebsocket interface { // Connect 建立连接时,处理的方法 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 6:39 下午 2021/3/27 Connect(ctx *context.WSContext) error // Disconnect 断开连接时处理的方法 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 6:40 下午 2021/3/27 Disconnect(ctx *context.WSContext) // Close 关闭连接 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 8:43 下午 2021/3/27 Close(ctx *context.WSContext, code int, message string) error // HandshakeURL 注册的websocket路由 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 6:45 下午 2021/3/27 HandshakeURL() []string // GetCommandList 注册长连接模块支持的命令 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 6:48 下午 2021/3/27 GetCommandList() []ICommand // GetModuleFlag 获取模块标识,全局唯一 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 6:50 下午 2021/3/27 GetModuleFlag() string // GetServerPort 获取长连接监听的端口,多个模块可监听不同的端口 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 6:55 下午 2021/3/27 GetServerPort() int // GetWSServerConfig 获取WS-Server的配置 // - // Author : go_developer@163.com<张德满> + // Author : go_developer@163.com<白茶清欢> // // Date : 7:01 下午 2021/4/17 GetWSServerConfig() []config.SetWSServerConfig diff --git a/config/command.go b/config/command.go index bcdb3c7..f3abe0f 100644 --- a/config/command.go +++ b/config/command.go @@ -2,7 +2,7 @@ // // Description : WS-Command 相关配置 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-04-17 2:34 下午 package config @@ -20,7 +20,7 @@ const ( // commandConfig 指令相关配置 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2:36 下午 2021/4/17 type CommandConfig struct { @@ -35,7 +35,7 @@ type SetCommandConfig func(cc *CommandConfig) // ClosePushCommandErrorMessage 关闭指令执行异常时的消息推送 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2:51 下午 2021/4/17 func ClosePushCommandErrorMessage() SetCommandConfig { @@ -46,7 +46,7 @@ func ClosePushCommandErrorMessage() SetCommandConfig { // CloseLogUpData 关闭记录上行数据 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:44 下午 2021/4/18 func CloseLogUpData() SetCommandConfig { @@ -57,7 +57,7 @@ func CloseLogUpData() SetCommandConfig { // CloseLogDownData 关闭记录下行数据 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:45 下午 2021/4/18 func CloseLogDownData() SetCommandConfig { @@ -68,7 +68,7 @@ func CloseLogDownData() SetCommandConfig { // CloseResponseData 关闭向客户端发送响应结果 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:47 下午 2021/4/18 func CloseResponseData() SetCommandConfig { @@ -79,7 +79,7 @@ func CloseResponseData() SetCommandConfig { // NewCommandConfig 指令的配置 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2:39 下午 2021/4/17 func NewCommandConfig(optionFunc ...SetCommandConfig) *CommandConfig { diff --git a/config/server.go b/config/server.go index 3271d9c..53dc0ee 100644 --- a/config/server.go +++ b/config/server.go @@ -2,7 +2,7 @@ // // Description : WS-Server 相关配置 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-04-17 2:32 下午 package config @@ -35,7 +35,7 @@ const ( // DefaultLogEnable 默认关闭日志 DefaultLogEnable = false // DefaultLogConsole 默认开启控制台输出 - DefaultLogConsole = true + DefaultLogConsole = false // DefaultMode 默认为Debug模式 DefaultMode = RunModeDebug // DefaultLogLevel 默认的日志级别 @@ -60,7 +60,7 @@ const ( // WSServerConfig WS-Server的配置 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:02 下午 2021/4/17 type WSServerConfig struct { @@ -80,14 +80,14 @@ type WSServerConfig struct { // SetWSServerConfig 设置WS-Server的配置 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:03 下午 2021/4/17 type SetWSServerConfig func(wsc *WSServerConfig) // SetWSServerLogEnable 开启日志记录 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:25 下午 2021/4/17 func SetWSServerLogEnable(logPath string, logFile string, logLevel zapcore.Level, splitInterval logger.TimeIntervalType) SetWSServerConfig { @@ -112,9 +112,20 @@ func SetWSServerLogEnable(logPath string, logFile string, logLevel zapcore.Level } } +// EnableConsoleLog 开启控制台日志输出 +// +// Author : zhangdeman001@ke.com<白茶清欢> +// +// Date : 11:25 下午 2021/4/22 +func EnableConsoleLog() SetWSServerConfig { + return func(wsc *WSServerConfig) { + wsc.LogConsole = true + } +} + // EnablePprof 开启PProf,由于多模块共享一个进程,任意一个模块开启,就认为是开启 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 11:24 下午 2021/4/18 func EnablePprof(pprofPort int) SetWSServerConfig { @@ -126,7 +137,7 @@ func EnablePprof(pprofPort int) SetWSServerConfig { // DisableStoreConnection 禁用连接存储 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 11:10 下午 2021/4/17 func DisableStoreConnection() SetWSServerConfig { @@ -137,7 +148,7 @@ func DisableStoreConnection() SetWSServerConfig { // SetConnectionManager 连接管理实例 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 10:48 下午 2021/4/22 func SetConnectionManager(manager storage.IConnection) SetWSServerConfig { @@ -151,7 +162,7 @@ func SetConnectionManager(manager storage.IConnection) SetWSServerConfig { // SetMaxMessageSize 限制消息大小 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 9:29 下午 2021/4/22 func SetMaxMessageSize(maxMessageSize int64) SetWSServerConfig { @@ -165,7 +176,7 @@ func SetMaxMessageSize(maxMessageSize int64) SetWSServerConfig { // SetMaxMessageBufferSize 设置消息缓冲区 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 9:39 下午 2021/4/22 func SetMaxMessageBufferSize(maxMessageBufferSize int) SetWSServerConfig { @@ -179,7 +190,7 @@ func SetMaxMessageBufferSize(maxMessageBufferSize int) SetWSServerConfig { // SetWriteWait 设置消息写入的等待时间, 单位 : 秒 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 9:44 下午 2021/4/22 func SetWriteWait(writeWaitTime int) SetWSServerConfig { @@ -193,7 +204,7 @@ func SetWriteWait(writeWaitTime int) SetWSServerConfig { // SetPongWait 设置探活时,等待响应时间,单位 : 秒 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 9:55 下午 2021/4/22 func SetPongWait(pongWait int) SetWSServerConfig { @@ -207,7 +218,7 @@ func SetPongWait(pongWait int) SetWSServerConfig { // SetPingPeriod 设置探活时间间隔 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 10:00 下午 2021/4/22 func SetPingPeriod(pingPeriod int) SetWSServerConfig { @@ -221,7 +232,7 @@ func SetPingPeriod(pingPeriod int) SetWSServerConfig { // NewWSServerConfig 生成新的WS-Server配置 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:21 下午 2021/4/17 func NewWSServerConfig(optionList ...SetWSServerConfig) *WSServerConfig { diff --git a/construct.go b/construct.go index 5b28ebf..98f17a6 100644 --- a/construct.go +++ b/construct.go @@ -2,7 +2,7 @@ // // Description : websocket... // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-03-27 6:49 下午 package websocket @@ -33,7 +33,7 @@ import ( // Server ... // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 8:04 下午 2021/3/27 type Server struct { @@ -57,7 +57,7 @@ var ( // NewWebsocketServe 启动websocket服务 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 6:49 下午 2021/3/27 func NewWebsocketServe(wsInstanceList ...abstract.IWebsocket) error { @@ -244,7 +244,7 @@ func initServer(wsInstance abstract.IWebsocket) { // dispatchCommand 调度command ... // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 3:36 下午 2021/3/28 func dispatchCommand(ctx *context.WSContext, data []byte) error { @@ -343,7 +343,7 @@ func run() { // Stop 停止服务 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 3:55 下午 2021/3/28 func Stop() { diff --git a/context/context.go b/context/context.go index b7a8026..283630f 100644 --- a/context/context.go +++ b/context/context.go @@ -2,7 +2,7 @@ // // Description : 上下文信息 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-03-27 6:53 下午 package context @@ -23,7 +23,7 @@ import ( // WSContext 请求上下文 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:03 下午 2021/3/27 type WSContext struct { @@ -39,7 +39,7 @@ type WSContext struct { // NewContext 生成上下文信息 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 7:15 下午 2021/3/27 func NewContext(ginCtx *gin.Context, flag string, session *melody.Session) *WSContext { @@ -59,7 +59,7 @@ func NewContext(ginCtx *gin.Context, flag string, session *melody.Session) *WSCo //CloneContext 克隆上下文信息 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 8:07 下午 2021/4/18 func CloneContext(ctx *WSContext) *WSContext { @@ -80,7 +80,7 @@ func CloneContext(ctx *WSContext) *WSContext { // generateConnectionID 生成connection_id // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 5:18 下午 2021/4/8 func generateConnectionID(flag string) string { diff --git a/define.go b/define.go index c68b274..0f94192 100644 --- a/define.go +++ b/define.go @@ -2,7 +2,7 @@ // // Description : 数据结构定义 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-04-18 7:53 下午 package websocket @@ -18,7 +18,7 @@ import ( // buildResponseData 构建响应数据 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 8:23 下午 2021/4/18 func buildResponseData(wsCtx *context.WSContext, cmd string, data interface{}) []byte { @@ -34,7 +34,7 @@ func buildResponseData(wsCtx *context.WSContext, cmd string, data interface{}) [ // getLoadDataList 获取需记录的数据列表 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 8:00 下午 2021/4/18 func getLoadDataList(wsContext *context.WSContext, fieldList ...zap.Field) []zap.Field { @@ -64,7 +64,7 @@ const ( // getWsServer 获取WS-Server实例 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 8:54 下午 2021/4/18 func getWsServer(port int, flag string) *Server { @@ -73,7 +73,7 @@ func getWsServer(port int, flag string) *Server { // getLoggerInstance 获取日志实例 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 8:48 下午 2021/4/18 func getLoggerInstance(moduleFlag string, cmdAllow *bool) *zap.Logger { @@ -85,7 +85,7 @@ func getLoggerInstance(moduleFlag string, cmdAllow *bool) *zap.Logger { // log 记录日志 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 8:29 下午 2021/4/18 func log(loggerInstance *zap.Logger, f string, message string, fieldList []zap.Field) { diff --git a/example/server.go b/example/server.go index 405b3fa..6e5c5f6 100644 --- a/example/server.go +++ b/example/server.go @@ -2,7 +2,7 @@ // // Description : 启动一个ws server 的示例 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-03-28 3:57 下午 package main diff --git a/message/message.go b/message/message.go index 3228bbd..6841dfc 100644 --- a/message/message.go +++ b/message/message.go @@ -2,7 +2,7 @@ // // Description : 消息相关操作 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-03-28 5:15 下午 package message @@ -17,7 +17,7 @@ import ( // Response 对当前连接的相关行为做出响应 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 5:17 下午 2021/3/28 func Response(wsCtx *context.WSContext, data map[string]interface{}) error { @@ -27,7 +27,7 @@ func Response(wsCtx *context.WSContext, data map[string]interface{}) error { // Broadcast 消息广播 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 5:43 下午 2021/4/8 func Broadcast(message string, ctxList ...context.WSContext) map[string]error { diff --git a/storage/IStorage.go b/storage/IStorage.go index 121747b..e208237 100644 --- a/storage/IStorage.go +++ b/storage/IStorage.go @@ -2,7 +2,7 @@ // // Description : 各种内存数据的管理,基于接口,可自己重新实现管理实例 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-04-08 5:29 下午 package storage @@ -11,7 +11,7 @@ import "github.com/go-developer/websocket/context" // IConnection 连接管理接口定义 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 5:30 下午 2021/4/8 type IConnection interface { diff --git a/storage/connection.go b/storage/connection.go index 0bda9d1..3bcc502 100644 --- a/storage/connection.go +++ b/storage/connection.go @@ -2,7 +2,7 @@ // // Description : 在线连接的存储 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 2021-04-08 5:46 下午 package storage @@ -14,7 +14,7 @@ import ( // NewDefaultConnectionManager 默认的内存连接管理实例 // -// Author : go_developer@163.com<张德满> +// Author : go_developer@163.com<白茶清欢> // // Date : 11:32 下午 2021/4/17 func NewDefaultConnectionManager() IConnection {