Commit Graph

155 Commits

Author SHA1 Message Date
kercylan98 1bc32e2026 docs: 修复 server 在 WebSocket 模式下超时时间无效的问题 2023-09-19 15:45:12 +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 2712f3b98e fix: 修复 gnet 作为服务器核心关闭时导致的空指针问题 2023-09-13 16:45:31 +08:00
kercylan98 dc3c7d2eea perf: server 包 websocket SetReadDeadline 优化 2023-09-12 18:41:35 +08:00
kercylan98 064d434a0c feat: server 包新增 WithLimitLift 和 WithConnectionMessageChannelSize 函数,用于限制服务器最大生命周期及连接的消息写入通道大小 2023-09-09 16:21:06 +08:00
kercylan98 19df61b97f fix: 修复 server 关闭服务器后,如果等待消息结束过程中,新消息将阻塞的问题 2023-09-08 16:59:16 +08:00
kercylan98 6c882edb09 fix: server 修复消息计数始终为1的问题 2023-09-08 16:47:23 +08:00
kercylan98 483ace2fa9 perf: server 包连接关闭逻辑优化 2023-09-08 15:54:51 +08:00
kercylan98 376ff779e1 refactor: 优化 server 包消息日志,移除 server.Conn.Reuse 函数(不合理) 2023-09-08 15:20:24 +08:00
kercylan98 04c40bf873 feat: server 包 Server 新增 RegMessageReadyEvent 函数 2023-09-05 16:03:58 +08:00
kercylan98 15a491816a fix: 修复 server 包 RegMessageExecBeforeEvent 函数导致内存泄露的问题 2023-09-05 10:57:44 +08:00
kercylan98 0297c4444a feat: server 包新增 Server.RegMessageExecBeforeEvent 函数,支持在消息执行前进行处理,适用于限流等场景 2023-09-05 10:52:09 +08:00
kercylan98 add1e4bc8c fix: 修复宕机问题 2023-09-04 17:21:52 +08:00
kercylan98 8cd9979e2b fix: 修复 server 中 HTTP 服务器关闭时会引发空指针的问题 2023-08-31 13:32:42 +08:00
kercylan98 c9ff4570fe build: 更新依赖版本 2023-08-23 19:46:02 +08:00
kercylan98 4850dd4aa3 refactor: 调整 server 数据包相关处理函数的接收参数不再为 server.Packet,同时移除 server.Packet 2023-08-23 19:29:55 +08:00
kercylan98 5096e6f884 fix: 修复非 gateway 数据包导致数组越界的问题 2023-08-22 14:07:48 +08:00
kercylan98 811e1bd29e other: server 异步消息回调将不再使用 MessageTypeSystem,更改为 MessageTypeAsyncCallback 2023-08-21 18:48:52 +08:00
kercylan98 3c6ce9cfdf feat: server 包支持设置注册事件的优先级 2023-08-21 15:02:48 +08:00
kercylan98 351257033e feat: gateway 数据包支持像普通数据包一样处理,并且支持自定义端点健康评估函数 2023-08-17 18:46:59 +08:00
kercylan98 36a333379e feat: server.Server 的 HTTP 请求支持慢消息检测 2023-08-17 12:54:15 +08:00
kercylan98 b87df072fc feat: server.Server 新增 HttpServer 函数,用于替代 HttpRouter 2023-08-17 12:47:43 +08:00
kercylan98 93c5f3695f fix: server 包优化 Shutdown 逻辑,修复服务器关闭时不会等待消息执行完毕的问题 2023-08-17 10:38:16 +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 c92f16c170 feat: server.Server 支持通过 WithShunt 函数对服务器消息进行分流 2023-08-01 14:32:23 +08:00
kercylan98 1297ae7a8f fix: 修复 server 异步消息的 callback 的并发问题
将 callback 转为系统消息的方式执行
2023-07-29 16:42:57 +08:00
kercylan98 b63975ea09 feat: server 异步消息支持将 callback 设置为 nil 2023-07-27 15:39:59 +08:00
kercylan98 8dde18a36e feat: server.Server 新增 ConnectionOpenedAfterEvent 2023-07-27 14:11:17 +08:00
kercylan d0d2087fee refactor: 移除分段锁map实现及 hash.Map、hash.ReadonlyMap 接口,移除 asynchronous 包,同步包更名为 concurrent 2023-07-21 23:32:46 +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 1b9ec9f2b6 feat: 修复 server.PushAsyncMessage 无法正确调用回调函数的问题 2023-07-14 17:41:41 +08:00
kercylan98 0215d9ff8c fix: 修复 server.Server 部分事件中发生 panic 导致程序退出的问题 2023-07-14 12:40:13 +08:00
kercylan98 aa39d39160 fix: 修复服务器消息报错不打印堆栈信息的问题 2023-07-12 19:14:51 +08:00
kercylan98 98234e5f86 refactor: log 包重构,优化使用方式 2023-07-12 18:34:45 +08:00
kercylan98 8917326a24 other: 修改 server.Server 慢消息检测的异步消息判定条件为 1 秒 2023-07-11 19:38:50 +08:00
kercylan98 47b8a333eb perf: 优化代码结构,去除无用代码,去除重复代码 2023-07-11 19:35:08 +08:00
kercylan98 8368fe0770 feat: server.Server 将记录在线的连接信息,可获取到在线连接和计数等 2023-07-11 10:48:40 +08:00
kercylan98 6962cf4989 feat: server 包 websocket 服务器支持压缩 2023-07-11 10:40:31 +08:00
kercylan98 9dc73bf281 docs: server 包注释完善 2023-07-11 10:25:55 +08:00
kercylan98 74c8f215d7 style: 优化 server 包代码可读性 2023-07-11 10:10:36 +08:00
kercylan98 1ad657799a perf: 调整 server.WithBufferSize 默认值 2023-07-08 17:56:33 +08:00
kercylan98 7b8af0518e fix: 修复异步慢消息追踪不生效的问题 2023-07-07 19:02:30 +08:00
kercylan98 e0a0aaa605 recessive: 日志优化 2023-07-07 16:39:09 +08:00
kercylan98 7228a07e7e fix: 修复 server.Server 关闭时线程池未释放的问题 2023-07-07 16:37:31 +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 6d27433c4b refactor: 私有化服务器 PushMessage 函数,移除 PushCrossMessage 函数,改为使用 server.PushXXXMessage 函数 2023-07-07 13:38:26 +08:00
kercylan98 7e67775157 refactor: 移除服务器多核和分流模式的可选项 2023-07-07 12:57:51 +08:00
kercylan98 18b9598f5a feat: 支持通过 server.Server.RegStopEvent() 函数注册服务器关闭事件 2023-07-06 16:13:02 +08:00
kercylan98 2513714ac4 feat: server.New 支持通过 server.WithWebsocketReadDeadline 设置超时时间 2023-07-05 13:52:11 +08:00
kercylan98 e0c63d569d refactor: 重构 server.ConnectionClosedEventHandle,修复部分问题
支持在连接关闭时获取到错误信息,修复建立连接立刻发送请求无法被处理的问题
2023-07-04 18:56:35 +08:00
kercylan98 3d9c8a332f recessive: 日志设置生产模式和开发模式写入文件支持开关 2023-07-03 13:38:33 +08:00
kercylan98 1136af4dd8 fix: 修复 server.Multiple 关闭服务器空指针异常 2023-07-03 13:12:22 +08:00
kercylan98 73cefc9b48 feat: 服务器支持通过 server.WithDiversion 可选项对数据包消息进行分流处理
适用于类似房间这样的模式中,每个房间的消息将不会对其他房间消息造成阻塞
2023-07-01 12:25:39 +08:00
kercylan98 67616b2963 fix: 多服务器情况下日志错乱及无法正常 Shuntdown 问题修复 2023-06-30 18:16:58 +08:00
kercylan98 32c08c6106 移除监控功能,不合理 2023-05-24 11:29:20 +08:00
kercylan98 6680a348c9 关闭逻辑优化 2023-05-24 11:25:31 +08:00
kercylan98 3c0190eb27 监控实现 2023-05-24 10:38:29 +08:00
kercylan98 aeade860be 优化服务器无法正常退出问题 2023-05-23 14:54:35 +08:00
kercylan98 ce71a956e5 支持注册消息错误和慢执行事件 2023-05-20 17:14:36 +08:00
kercylan98 abe9a7b57c 错误类型消息补充打印分发前堆栈 2023-05-20 17:02:22 +08:00
kercylan98 27fa694d38 慢消息检查 2023-05-20 16:39:59 +08:00
kercylan98 f57d299dc6 注释优化 2023-05-20 15:37:06 +08:00
kercylan98 aa2974ab3d 去除错误中携带的堆栈信息 2023-05-20 15:17:03 +08:00
kercylan98 84057605b2 多核逻辑优化 2023-05-20 11:03:40 +08:00
kercylan98 174a01f864 断开时关闭连接 2023-05-19 19:34:09 +08:00
kercylan98 3effa6bb91 去除消息分流、设计不合理 2023-05-19 14:19:11 +08:00
kercylan98 481b45aa07 优化服务器逻辑 2023-05-19 12:04:23 +08:00
kercylan98 4b12211e85 websocket写入优化 2023-05-19 11:48:53 +08:00
kercylan98 ad1499e9b0 跨服支持名称隔离 2023-05-16 12:51:08 +08:00
kercylan98 ce63fff7c7 定时器可选项 2023-05-16 12:05:56 +08:00
kercylan98 0439bffb99 跨服功能实现 2023-05-16 10:57:41 +08:00
kercylan98 9b7fd2b4cf 跨服功能实现 2023-05-15 15:37:50 +08:00
kercylan98 57460ff40b 服务器连接异步读写 2023-05-15 12:32:53 +08:00
kercylan98 b28badbaab 服务器连接异步读写 2023-05-15 11:49:36 +08:00
kercylan98 926b69bee1 修复Websocket消息类型过滤不设置时无法接收数据包的问题,服务器增加连接分流功能 2023-05-15 10:01:09 +08:00
kercylan98 dbdff6ca5d 服务器优化 2023-05-11 11:24:02 +08:00
kercylan98 7046e40d51 HTTP、GRPC TLS支持 2023-05-10 16:35:17 +08:00
kercylan98 a0a38793aa 支持GRPC注册服务 2023-05-10 16:17:52 +08:00
kercylan98 f1488fe7d3 消息池默认大小调整 2023-05-09 18:17:47 +08:00
kercylan98 6b38c7dbc1 websocket支持消息类型处理 2023-05-09 18:14:05 +08:00
kercylan98 b5c25a3dc8 websocket支持过滤消息类型 2023-05-09 18:04:05 +08:00
kercylan98 b00625207b websocket解析url参数 2023-05-09 17:51:19 +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 bac76884d9 服务器多核模式 2023-05-06 11:45:39 +08:00
kercylan98 30848faebc 添加获取连接的接口,优化事件参数 2023-05-05 17:01:42 +08:00
kercylan98 18e17a8927 服务器消息日志 2023-04-28 10:30:47 +08:00
kercylan98 1b24fa72b8 服务器关闭逻辑优化 2023-04-28 10:27:03 +08:00
kercylan98 8b65491283 采用缓冲池处理服务器消息 2023-04-28 09:52:27 +08:00
kercylan98 b743d299b3 采用缓冲池处理服务器消息 2023-04-28 09:47:22 +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 c23dd400ef 服务器生产模式设置 2023-04-24 14:56:19 +08:00