Skip to content

Releases: KOROyo123/Caster_Project

1.1.3

27 May 04:00
Compare
Choose a tag to compare

一. 版本说明

本版本主要针对发现的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。

1.1.1

11 May 12:05
Compare
Choose a tag to compare

一. 版本说明

本版本进行了一些BUG修复和功能更新

1. BUG修复

  • 程序通过连接的套接字推导该连接唯一标识符Connect_Key,修复了在验证阶段中连接断开导致fd失效进而无法推导出Connect_Key的问题
  • 修复了源列表请求回复的Http Header中的Connect-Length长度错误,该错误会导致bnc软件以ntrip2版本获取源列表后无法正常解析源列表
  • 同步修复了源列表请求回复的Http Header中Date错误问题,现在可以输出正确的时间了(GMT时间)

2. 其他更新

  • 新增了对MSVC的适配、现在支持在Windows下采用Visual Studio(MSVC)来一键构建程序了
  • 日志添加了更多的信息、用来记录关键步骤
  • 新增了MSVC版本的Github Action workflow,随主版本(main)更新同步生成可执行程序

3.存在问题

  • 在压力测试的时候内存增长现象,具体原因还需要排查
  • 如果Redis设置的缓存限制较低、缓冲区溢出会导致Redis主动断开连接,由于目前没有实现Redis的重连机制以及连接断开后的异常处理逻辑,会导致程序不挂掉但无法通过redis中转数据,需要在后续版本解决(当前可通过修改Redis的配置文件来放开限制,避免连接被主动断开)

4.其他说明

  • 当前版本源码支持采用GCC、Clang、CL(MSVC)编译和构建、理论上可以实现全平台构建和部署
  • 代码主要在Linux下进行开发和测试、建议使用Linux版本

二. 可执行程序说明

  • 可执行程序通过Github Actions构建
  • Windows版本提供两个版本,分别采用MSVC和MinGW编译构建
  • Linux版本在Ubuntu下构建,采用GCC编译

三. 快速部署

  • Windows下快速部署

    • 下载并解压压缩包
    • 运行/env/Redis-7.0.15-Windows-x64/start.bat,启动redis服务
    • (可选)修改配置文件/conf/Service_Setting.yml/conf/Caster_Core.yml/conf/Auth_Verify.yml
    • 启动可执行程序Koro_Caster_Service-X.X.X.exe
  • Linux下快速部署

    • 下载并解压压缩包
    • 执行 sudo apt install redis-server,安装redis服务(安装完会默认启动)
    • (可选)修改配置文件/conf/Service_Setting.yml/conf/Caster_Core.yml/conf/Auth_Verify.yml
    • 启动可执行程序./Koro_Caster_Service-X.X.X

四.Q&A

  • Bug反馈可发送邮件或在Github页面提交Issues。

1.1.0

28 Apr 08:47
Compare
Choose a tag to compare

1. 版本说明

  • 开发版本,当前实现了基本的NtripCaster数据分发功能

2. 可执行程序说明

  • 可执行程序通过Github Actions构建
  • Windows版本构建环境为 Windows Server 2022,采用MinGW编译
  • Linux版本构建环境为 ubuntu-22.04,采用GCC编译

3. 快速部署

  • Windows下快速部署

    • 下载并解压压缩包
    • 运行/env/Redis-7.0.15-Windows-x64/start.bat,启动redis服务
    • (可选)修改配置文件/conf/Service_Setting.yml/conf/Caster_Core.yml/conf/Auth_Verify.yml
    • 启动可执行程序Koro_Caster_Service-X.X.X.exe
  • Linux下快速部署

    • 下载并解压压缩包
    • 执行 sudo apt install redis-server,安装redis服务(安装完会默认启动)
    • (可选)修改配置文件/conf/Service_Setting.yml/conf/Caster_Core.yml/conf/Auth_Verify.yml
    • 启动可执行程序./Koro_Caster_Service-X.X.X

4.Q&A

  • Bug反馈可发送邮件或在Github页面提交Issues。