Commit Graph

233 Commits

Author SHA1 Message Date
kercylan98 9d9f7a3854 docs: 增加 space 包 README.md 文档,优化 room 相关内容可读性 2023-12-23 10:59:20 +08:00
kercylan98 05aeed05a1 feat: server 包增加消息统计相关函数 2023-12-22 16:57:00 +08:00
kercylan98 fde6d52c60 refactor: 移除过时的 server.NewHttpWrapper 函数、server.Server.HttpServer 函数当需要使用 Gin 相关功能时不再需要通过 Gin 函数获取 2023-12-22 10:17:07 +08:00
kercylan98 c4e2034bef refactor: 移除 router 包中已过时的 Level1Router、Level2Router、Level3Router,可使用 router.Multistage 进行替代 2023-12-22 10:10:31 +08:00
kercylan98 4f3b4eb1d5 other: 修改 server.WithTicker 将不再使用标准池的定时器,而是自行维护定时器池 2023-12-21 14:43:59 +08:00
kercylan98 2ff7db96d2 other: 优化 server 包消息分发时对于 cancel 的处理逻辑 2023-12-21 14:09:17 +08:00
kercylan98 9038bfc2b5 perf: 移除 lockstep 对 timer.Ticket 的依赖,更改为 time.Ticker 实现,减少不必要的资源占用 2023-12-21 14:08:21 +08:00
kercylan98 508e30fb5b fix: 修复 timer.Ticker 和 lockstep 包存在的内存泄漏问题 2023-12-20 16:57:54 +08:00
kercylan98 4d72e8cbcb fix: 修复 server 包未使用 KCP 服务器时会有额外的定时器损耗的问题 2023-12-20 12:21:43 +08:00
kercylan98 7e09229330 fix: 修复 server.Server 在使用 UseShunt 函数时由于未记录当前分发器导致的内存泄漏问题 2023-12-20 11:24:51 +08:00
kercylan98 e60017c0eb other: 优化 server 包消息分发 cancel 处理逻辑 2023-12-20 10:46:01 +08:00
kercylan98 82ecb98397 other: 优化 server 包部分 error 的处理方式 2023-12-20 09:48:03 +08:00
kercylan98 ba24b09c71 style: 移除 server 慢消息无意义的堆栈信息,优化消息的 String 函数返回的不再是简单的消息类型 2023-12-19 16:00:45 +08:00
kercylan98 b4ade2c003 feat: server 新增 DeadlockDetectEvent,以便于发生疑似死锁时刻能够执行通知等行为 2023-12-09 13:53:16 +08:00
kercylan98 dc557a06d4 refactor: 优化及重构 server 包关于 WebSocket 的消息类型和消息分流部分内容
- 优化 server 包中 WebSocket 服务器默认响应的消息类型与发信方不同步的问题;
- 移除 server.WithShunt
函数,调整为通过 server.Server.UseShunt 来动态分流渠道,例如可以将用户连接的渠道在用户自身渠道或游戏房间渠道来回切换;
2023-12-01 16:35:27 +08:00
kercylan98 6922999039 docs: 修正 @kuchaguangjie 在 #67 提到的 README.md 服务器定时器示例错误、补充 WithTicker 函数注释 2023-11-30 11:14:16 +08:00
kercylan98 d3ad49d11e refactor: 重构日志模块并清理未使用的依赖 2023-11-28 17:37:01 +08:00
kercylan98 c10494d3c2 recessive: 修正数据包默认警告大小 2023-11-28 09:35:20 +08:00
kercylan98 173dd11d4d feat: server.Server 默认开启数据包大小警告,可通过 server.WithPacketWarnSize 关闭或调整警告大小,默认为 1MB 2023-11-28 09:32:53 +08:00
kercylan98 a3b4a9afe2 fix: server 启动日志包含错误的 Error 日志修复 2023-11-16 09:51:02 +08:00
kercylan98 4c092c04d2 feat: server 包新增机器人,可通过 server.NewBot 函数进行创建,机器人将模拟普通连接行为,适用于测试等场景 2023-11-13 16:05:32 +08:00
kercylan98 e2b7887b14 feat: server 新增 Unique 异步消息,可用于避免相同标识的异步消息在未执行完毕前重复执行 2023-11-13 14:16:38 +08:00
kercylan98 d2654cfc95 feat: 增强 server.RegConsoleCommandEvent 函数,支持 url 格式输入命令,并将命令解析为指令和参数 2023-11-11 19:24:58 +08:00
kercylan98 70f7a79c88 refactor: server 包重构及性能优化
1、由于设计不合理,移除 server
包中跨服相关的内容;
2、重构消息处理机制和消息分流机制并优化性能;
3、分流消息支持数据包、定时任务、异步回调的分流;
4、长连接支持获取定时器。
2023-11-10 18:40:55 +08:00
kercylan98 0b77cc9907 feat: server.Server 支持使用 PushAsyncMessage 快捷发布异步消息 2023-11-06 20:27:50 +08:00
kercylan98 6b2a753e67 feat: server 包支持获取到 HTTP 服务器的 Gin 示例 2023-11-06 20:26:37 +08:00
kercylan98 589a424491 feat: lockstep 支持获取帧同步客户端数量 2023-11-01 18:13:50 +08:00
kercylan98 61d41e51b5 fix: lockstep.Lockstep 移除不必要的内容,修复 StartBroadcast 函数锁使用不正确的问题 2023-10-27 15:56:58 +08:00
kercylan98 18a0b06e0e feat: server.Conn 支持获取连接打开时间及在线时长 2023-10-27 15:56:02 +08:00
kercylan98 139fe4291a perf: lockstep 包优化帧命令逻辑,去除多余字段 2023-10-23 09:29:43 +08:00
kercylan98 89e9c517af feat: server.Conn 支持通过 GetServer 获取到服务器实例 2023-10-21 18:20:12 +08:00
kercylan98 803dd4f2eb feat: lockstep 支持丢弃帧缓存 2023-10-21 18:19:51 +08:00
kercylan98 b5b126ef07 perf: server 包异步消息不再执行额外 defer 2023-10-21 13:28:54 +08:00
kercylan98 cdbf388498 fix: server 包数据竞态问题优化 2023-10-21 13:15:41 +08:00
kercylan98 859e0a1ac1 fix: 修复 lockstep.WithInitFrame 不生效的问题 2023-10-21 11:22:12 +08:00
kercylan98 d3e563257f perf: lockstep 包优化同步逻辑,帧 id 由 int 更改为 int64 类型,优化数据竞态问题 2023-10-21 11:15:30 +08:00
kercylan98 9e339065d4 refactor: cross 包服务器 id 更改为 string 类型 2023-10-21 11:14:10 +08:00
kercylan98 42ab52bc66 feat: server.Conn 支持在 WebSocket 模式下通过 GetWebsocketRequest 函数获取到请求 2023-10-16 19:08:25 +08:00
kercylan98 e60e0a754a feat: server.Conn 支持通过 ViewData 函数查看只读的连接数据 2023-10-10 11:07:55 +08:00
kercylan98 83ab553734 docs: 部分注释优化 2023-10-08 10:30:35 +08:00
kercylan98 534a7e962a feat: client.Run 支持传入 block 参数指定客户端以阻塞的模式运行 2023-09-21 15:46:20 +08:00
kercylan98 551a3e5c51 perf: server.Conn 写循环更改为采用无界缓冲区的写入,优化整体逻辑 2023-09-19 16:49:28 +08:00
kercylan98 31c0e1b735 refactor: server 移除 WithConnMessageChannelSize 可选项 2023-09-19 16:48:50 +08:00
kercylan98 1bc32e2026 docs: 修复 server 在 WebSocket 模式下超时时间无效的问题 2023-09-19 15:45:12 +08:00
kercylan98 0cc8fd8186 other: gateway 优化代码逻辑,适配 client.Client 变更 2023-09-19 12:41:45 +08:00
kercylan98 2d9ffad2ab refactor: client 包采用无界缓冲区替代通过 chan 实现的写通道,移除消息堆积功能,优化代码逻辑 2023-09-19 12:40:16 +08:00
kercylan98 dd1acfd017 feat: 新增 writeloop 包,内置了一个写循环的实现 2023-09-19 12:40:02 +08:00
kercylan98 42465a8f42 style: server 包为服务器启动添加 IP 信息,死锁检测的日志内容优化 2023-09-19 12:35:26 +08:00
kercylan98 810a9fdb73 refactor: server 包重构消息通道,采用无界缓冲区替代原本的 chan,解决消息通道的缓冲区达到上限时造成永久阻塞的问题,移除 WithMessageChannelSize 可选项,修改 WithShunt 可选项不再需要 channelGenerator 参数 2023-09-18 15:52:03 +08:00
kercylan98 e95e1ba399 fix: server 修复慢消息导致堆栈溢出的问题 2023-09-18 14:53:43 +08:00