Commit Graph

51 Commits

Author SHA1 Message Date
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
kercylan98 723e618df2 简单游戏demo实现 2023-04-27 13:25:11 +08:00
kercylan98 3a26f3671a 服务器启动事件 2023-04-24 15:17:10 +08:00
kercylan98 2e4a48e0a5 服务器启动事件 2023-04-24 15:14:03 +08:00
kercylan98 eee1caacbf 多网络服务器启动器 2023-04-22 14:23:07 +08:00
kercylan98 644c520454 服务器事件日志优化 2023-04-20 16:40:07 +08:00
kercylan98 938441ee3e 注释补充 2023-04-19 19:47:19 +08:00
kercylan98 b0117a11ad 连接接收数据包事件名称修改 2023-04-19 18:12:55 +08:00