Commit Graph

58 Commits

Author SHA1 Message Date
kercylan98 9d9f7a3854 docs: 增加 space 包 README.md 文档,优化 room 相关内容可读性 2023-12-23 10:59:20 +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 173dd11d4d feat: server.Server 默认开启数据包大小警告,可通过 server.WithPacketWarnSize 关闭或调整警告大小,默认为 1MB 2023-11-28 09:32:53 +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 9e339065d4 refactor: cross 包服务器 id 更改为 string 类型 2023-10-21 11:14:10 +08:00
kercylan98 810a9fdb73 refactor: server 包重构消息通道,采用无界缓冲区替代原本的 chan,解决消息通道的缓冲区达到上限时造成永久阻塞的问题,移除 WithMessageChannelSize 可选项,修改 WithShunt 可选项不再需要 channelGenerator 参数 2023-09-18 15:52:03 +08:00
kercylan98 064d434a0c feat: server 包新增 WithLimitLift 和 WithConnectionMessageChannelSize 函数,用于限制服务器最大生命周期及连接的消息写入通道大小 2023-09-09 16:21:06 +08:00
kercylan98 483ace2fa9 perf: server 包连接关闭逻辑优化 2023-09-08 15:54:51 +08:00
kercylan98 3e35e73c90 fix: 修复 server 包 Server.RegConsoleCommandEvent 函数在无终端环境下导致 CPU 飙升的问题
当 fmt.Scanln 无法从标准输入(stdin)读取内容时(例如,如果没有交互式终端附加到进程),它可能会立即返回一个错误。这将导致
for 循环以极快的速度不断执行,从而导致 CPU 使用率飙升。
2023-09-06 15:03:10 +08:00
kercylan98 04c40bf873 feat: server 包 Server 新增 RegMessageReadyEvent 函数 2023-09-05 16:03:58 +08:00
kercylan98 0297c4444a feat: server 包新增 Server.RegMessageExecBeforeEvent 函数,支持在消息执行前进行处理,适用于限流等场景 2023-09-05 10:52:09 +08:00
kercylan98 2ed52fc814 fix: server 包中 RegConsoleCommandEvent 函数空指针问题处理 2023-09-01 13:29:49 +08:00
kercylan98 4850dd4aa3 refactor: 调整 server 数据包相关处理函数的接收参数不再为 server.Packet,同时移除 server.Packet 2023-08-23 19:29:55 +08:00
kercylan98 3c6ce9cfdf feat: server 包支持设置注册事件的优先级 2023-08-21 15:02:48 +08:00
kercylan98 dcfb3da534 feat: server 新增 NetworkNone 网络类型,该模式下不监听任何网络端口,仅开启消息队列,适用于纯粹的跨服服务器等情况 2023-08-17 09:44:51 +08:00
kercylan98 b3e4bb6166 feat: server.Server 新增 RegConnectionPacketPreprocessEvent 函数用于对数据包进行预处理操作 2023-08-16 18:38:02 +08:00
kercylan98 b9d953338f feat: server.Server 新增分流通道创建和关闭事件 2023-08-01 15:07:33 +08:00
kercylan98 5e26467dee feat: server.Server 新增对连接写入事件前的处理函数 2023-07-27 14:44:45 +08:00
kercylan98 471ee48644 feat: server.Server 事件消息添加 mark 标记,方便问题定位 2023-07-27 14:39:05 +08:00
kercylan98 8dde18a36e feat: server.Server 新增 ConnectionOpenedAfterEvent 2023-07-27 14:11:17 +08:00
kercylan98 037c9b7bbd fix: 修复 onStop 无法等待逻辑执行完成的问题 2023-07-19 17:25:12 +08:00
kercylan98 8e2b4ebc89 other: 日志字段调用由 zap.Field 更改为 log.Field 2023-07-15 09:36:24 +08:00
kercylan98 0215d9ff8c fix: 修复 server.Server 部分事件中发生 panic 导致程序退出的问题 2023-07-14 12:40:13 +08:00
kercylan98 8368fe0770 feat: server.Server 将记录在线的连接信息,可获取到在线连接和计数等 2023-07-11 10:48:40 +08:00
kercylan98 e0a0aaa605 recessive: 日志优化 2023-07-07 16:39:09 +08:00
kercylan98 1a2c1df289 refactor: 服务器支持异步消息类型、死锁阻塞、异步慢消息检测 2023-07-07 16:28:04 +08:00
kercylan98 8b903072b1 refactor: 优化 server 消息类型,合并 Websocket 数据包监听到统一的 RegConnectionReceivePacketEvent 中 2023-07-07 15:05:36 +08:00
kercylan98 18b9598f5a feat: 支持通过 server.Server.RegStopEvent() 函数注册服务器关闭事件 2023-07-06 16:13:02 +08:00
kercylan98 7065448ddf other: 移除 server.Server.OnConnectionClosedEvent 和 server.Server.OnConnectionOpenedEvent 的日志 2023-07-06 14:06:20 +08:00
kercylan98 e0c63d569d refactor: 重构 server.ConnectionClosedEventHandle,修复部分问题
支持在连接关闭时获取到错误信息,修复建立连接立刻发送请求无法被处理的问题
2023-07-04 18:56:35 +08:00
kercylan98 a3941fc529 支持控制台命令 2023-05-23 15:08:24 +08:00
kercylan98 b96af6e973 支持控制台命令 2023-05-23 15:03:08 +08:00
kercylan98 2645a95c54 增加默认控制台注册指令 2023-05-23 14:59:22 +08:00
kercylan98 792064066f 增加默认控制台注册指令 2023-05-23 14:58:05 +08:00
kercylan98 c8f4827f6c 支持控制台命令 2023-05-23 14:54:43 +08:00
kercylan98 ce71a956e5 支持注册消息错误和慢执行事件 2023-05-20 17:14:36 +08:00
kercylan98 174a01f864 断开时关闭连接 2023-05-19 19:34:09 +08:00
kercylan98 f997332639 去除消息分流、设计不合理 2023-05-19 15:46:02 +08:00
kercylan98 fc9d334695 基于Nats的跨服实现 2023-05-16 11:39:10 +08:00
kercylan98 0439bffb99 跨服功能实现 2023-05-16 10:57:41 +08:00
kercylan98 9b7fd2b4cf 跨服功能实现 2023-05-15 15:37:50 +08:00
kercylan98 926b69bee1 修复Websocket消息类型过滤不设置时无法接收数据包的问题,服务器增加连接分流功能 2023-05-15 10:01:09 +08:00
kercylan98 22cd55fb03 优化日志 2023-05-11 10:38:39 +08:00
kercylan98 6b38c7dbc1 websocket支持消息类型处理 2023-05-09 18:14:05 +08:00
kercylan98 84094569af mod及import改为github.com/kercylan98/minotaur 2023-05-06 17:45:39 +08:00
kercylan98 41b0417338 优化连接 2023-05-06 15:53:31 +08:00
kercylan98 ec341ecaaa 添加获取连接的接口,优化事件参数 2023-05-05 17:01:49 +08:00
kercylan98 93d71c9a7e 日志优化 2023-04-27 14:06:22 +08:00