一. 版本说明
本版本主要针对发现的BUG进行了修复,同时完成了一些功能优化和一些便利性更新
1. BUG修复
- 修复了当bind端口被占用后程序直接崩溃的问题,现在会正常报错退出。
- 修复了订阅频道的回调触发逻辑,以解决当触发的回调函数中包含取消订阅操作导致的程序崩溃问题。
- 修复了解析请求的时候,在connect_map找不到bev时产生的越界错误(这个错误理论上不应当发生),现在会同步传bev和connect_key
- 修复了解析附带参数的请求时(形如“url?xxxxx”),没有正确忽略掉”?"的问题
- 修复了不向使用Ntrip2.0 连接的Client发送数据的问题(Ntrip2.0功能采用SNIP软件测试)
2. 功能优化
- 优化了连接错误请求的输出内容,现在可以看到两种错误类型报错
- 优化了请求解析逻辑和过滤机制,现在采用更严格的格式审查,来避免恶意连接访问无法被阻止的情况
- 优化了启动逻辑,现在程序会在启动时自动切换工作目录,来实现在任意目录启动程序都能正确找到默认配置文件
- 优化了SourceTable的内容,在获取源列表的时候,不会再发那么多垃圾字符了
- 新增了对Server的未发送缓冲区大小检测,当超出设定值的时候主动断开连接(与Client相同)(理论上也能避免内存无限增长)
- 新增按照小时输出日志的功能,以避免日志文件过大的问题
- 新增了Redis的默认配置,修改了pubsub的上限,避免程序连接断开,打包生成的文件现在默认使用此配置
- workflow中新增了编译构建linux版本redis的步骤,现在action生成的包会直接包含redis-server,并附带启动脚本
3.其他更新
- 更新了Client和Server,添加了使用预留的Auth接口,用于后续Auth调用回调来控制client和server下线
- 源码添加了openssh2库,用于后续远程访问redis
二. 可执行程序说明
- 可执行程序通过Github Actions构建
- Windows版本提供两个版本,分别采用MSVC和MinGW编译构建
- Linux版本在Ubuntu下构建并提供两个版本,分别采用GCC和Clang编译
三. 快速部署
-
Windows下快速部署
- 下载并解压压缩包
- 运行
/env/start.bat
,启动redis服务 - (可选)修改配置文件
/conf/Service_Setting.yml
、/conf/Caster_Core.yml
、/conf/Auth_Verify.yml
- 启动可执行程序
Koro_Caster_Service-X.X.X.exe
-
Linux下快速部署
- 下载并解压压缩包
- 运行
/env/start-redis.sh
,启动redis服务 - (可选)修改配置文件
/conf/Service_Setting.yml
、/conf/Caster_Core.yml
、/conf/Auth_Verify.yml
- 启动可执行程序
./Koro_Caster_Service-X.X.X
四.Q&A
- Bug反馈可发送邮件或在Github页面提交Issues。