版本号: 0.2.3

更新日期:2022.7.27
更新描述:兼容性更新。
更新详情:

优化
1. 优化IOC容器。
1. 优化Metadata的写入方式。
1. FileLogger,当日志文件达到1Mb时,会再新增文件序号。
新增
1. Mapper类,支持简单类型映射
1. Tcp服务器、客户端、udp等增加端口复用配置。
修改
1. RRQM二进制序列化,改名为Fast。
1. TouchRpcClient连接时的Metadata,改为由Config配置注入。
1. FilePool,取消延迟释放机制。
修复
1. 修复WebSocket连接问题
删除
1. 客户端直接调用的短线重连方式。仅保留在Config注入的功能。

版本号: 0.1.0

更新日期:2022.7.16
更新描述:初始化版本发布。由RRQMSocket迁移而来。

迁移指南:

1.所有类的命名空间修改,此处如果类型名未修改的话,可由vs智能提示解决。

2.类型名称修改

原类型名称 新类型名称
RRQMBitConverter TouchSocketBitConverter
RRQMConfig TouchSocketConfig
RRQMConverter TouchSocketConverter
RRQMDependencyObject DependencyObject
MsgEventArgs MsgEventArgs
RRQMEventAgrs TouchSocketEventArgs
IServerProvider IRpcServer
ServerProvider RpcServer
RRQMOverlengthException OverlengthException

3.使用逻辑修改

1)原RRQMConfig设置Logger的方法,改为容器注入:
image.png
2)断线重连逻辑
![C6Z(CQV9OAV3W`S5LPJWZF.png
3)RpcStore使用变更
如果是仅有一个Rpc解析器,那么可以直接删除RpcStore的声明,从而使用对应的解析器实例,直接注册服务。然后可以通过其属性RpcStore,获取到具体的RpcStore实例。

如果是有多个解析器,那么,首先可以使用任意一个解析器的RpcStore属性实例,作为主RpcStore,然后添加其他解析器。当然也可以直接new RpcStore,然后统一管理解析器。其中构造函数中的Container容器,可以直接new Container(),但是更建议使用和解析器相同的容器,这样注入的服务会变得全局可用。