Apply .gitignore rules

This commit is contained in:
皮蛋13361098506
2025-01-06 16:21:36 +08:00
parent 1b77f62820
commit ccd2c530cf
580 changed files with 69806 additions and 0 deletions

View File

@@ -0,0 +1 @@
package impl_console

View File

@@ -0,0 +1,58 @@
package intAndBytesUtil
import (
"bytes"
"encoding/binary"
)
// 字节数组转换成整形
// b字节数组
// order大、小端的枚举
// 返回值对应的int值
func BytesToInt(b []byte, order binary.ByteOrder) int {
bytesBuffer := bytes.NewBuffer(b)
var result int
binary.Read(bytesBuffer, order, &result)
return result
}
// 字节数组转换成整形
// b字节数组
// order大、小端的枚举
// 返回值对应的int16值
func BytesToInt16(b []byte, order binary.ByteOrder) int16 {
bytesBuffer := bytes.NewBuffer(b)
var result int16
binary.Read(bytesBuffer, order, &result)
return result
}
// 字节数组转换成整形
// b字节数组
// order大、小端的枚举
// 返回值对应的int32值
func BytesToInt32(b []byte, order binary.ByteOrder) int32 {
bytesBuffer := bytes.NewBuffer(b)
var result int32
binary.Read(bytesBuffer, order, &result)
return result
}
// 字节数组转换成整形
// b字节数组
// order大、小端的枚举
// 返回值对应的int64值
func BytesToInt64(b []byte, order binary.ByteOrder) int64 {
bytesBuffer := bytes.NewBuffer(b)
var result int64
binary.Read(bytesBuffer, order, &result)
return result
}

View File

@@ -0,0 +1,163 @@
// ************************************
// @package: websocketServer
// @description: websocket环境
// @author:
// @revision history:
// @create date: 2022-02-18 15:59:08
// ************************************
package websocketServer
import (
"context"
"sync"
"time"
"github.com/gorilla/websocket"
webServer "Framework/webServer"
)
// Context
// @description: websocket环境
type Context struct {
ctx context.Context
// web_server环境
webServerCtx *webServer.Context
// 存放用户自定义数据
userData interface{}
// websocket连接
conn *websocket.Conn
// 防止多协程同时写/关闭
mu sync.Mutex
// 最近一次收到心跳包的时间
heartbeat time.Time
// 指示是否已经关闭
isClosed bool
// 关闭连接信号
cls chan<- struct{}
}
// GetWebServerContext
// @description: 获取web_server环境
// parameter:
//
// @receiver ctx:
//
// return:
//
// @*web_server.Context: web_server环境
func (ctx *Context) GetWebServerContext() *webServer.Context {
return ctx.webServerCtx
}
// GetUserData
// @description: 获取用户自定义数据
// parameter:
//
// @receiver ctx:
//
// return:
//
// @interface{}:
func (ctx *Context) GetUserData() interface{} {
return ctx.userData
}
// SetUserData
// @description: 设置用户自定义数据
// parameter:
//
// @receiver ctx:
// @userData:
//
// return:
func (ctx *Context) SetUserData(userData interface{}) {
ctx.userData = userData
}
// SendMessage
// @description: 发送websocket数据
// parameter:
//
// @receiver ctx:
// @messageType:
// @data:
//
// return:
//
// @err:
func (ctx *Context) SendMessage(messageType int, data []byte) (err error) {
ctx.mu.Lock()
defer ctx.mu.Unlock()
return ctx.conn.WriteMessage(messageType, data)
}
// Close
// @description: 关闭websocket连接
// parameter:
//
// @receiver ctx:
//
// return:
func (ctx *Context) Close() {
ctx.mu.Lock()
defer ctx.mu.Unlock()
if !ctx.isClosed {
// 设置已关闭标志
ctx.isClosed = true
// 发送退出信号
// 所有向cls写入都使用select超时结构以保证这儿不会一直阻塞确保此协程能退出
select {
case <-time.After(time.Millisecond * 10):
case ctx.cls <- struct{}{}:
}
//ctx.cls <- struct{}{}
}
}
// Ctx
// @description: 返回Context
// parameter:
//
// @receiver ctx:
//
// return:
func (ctx *Context) Ctx() context.Context {
ctx.mu.Lock()
defer ctx.mu.Unlock()
return ctx.ctx
}
// SetCtx
// @description: 设置新的Ctx
// parameter:
//
// @receiver ctx:
//
// return:
func (ctx *Context) SetCtx(c context.Context) {
ctx.mu.Lock()
defer ctx.mu.Unlock()
ctx.ctx = c
}
// GetConnType
// @description: 获取连接类型
// parameter:
//
// @receiver ctx:
//
// return:
func (ctx *Context) GetConnType() string {
return "websocket"
}

View File

@@ -0,0 +1,13 @@
{
"ServerGroupId": 1,
"ChatDBConnection": "root:moqikaka@tcp(192.168.1.226:3306)/chatserver?charset=utf8&parseTime=true&loc=Local&timeout=30s",
"ChatDBMaxOpenConns": 10,
"ChatDBMaxIdleConns": 5,
"ModelDBConnection": "root:moqikaka@tcp(192.168.1.226:3306)/dzz_model_online?charset=utf8&parseTime=true&loc=Local&timeout=30s",
"ModelDBMaxOpenConns": 0,
"ModelDBMaxIdleConns": 0,
"GameDBConnection": "root:moqikaka@tcp(192.168.1.226:3306)/dzz_online?charset=utf8&parseTime=true&loc=Local&timeout=30s",
"GameDBMaxOpenConns": 10,
"GameDBMaxIdleConns": 5,
"IfRecordMessage": true
}