以下是 sgcWebSockets 4.4.6 包含的新功能和错误修复的完整列表:
[+] : 在服务器组件中新增事件 OnBeforeForwardHTTP,允许将 HTTP 请求转发到另一个服务器。(感谢 Olaf 的建议。)
[+] : 在服务器组件中新增事件 OnAfterForwardHTTP,允许获取 HTTP 转发请求的响应。
[+] : 改进 TsgcWebSocketHTTPServer,现在支持 HTTP/2 服务器推送,使用 PushPromiseAddPreLoadLinks 方法配置推送承诺文件。
[+] : 改进 TsgcWebSocketHTTPServer,新增对 HTTP/2 Cookie 的支持。
[+] : 改进 TsgcWebSocketHTTPServer,新增属性 HTTP2Options.Events,配置 Connect/Disconnect 事件是否在 HTTP/2 协议下被调用(默认禁用)。
[+] : 在 HTTP.SYS 服务器中新增属性 ReadBufferSize,允许设置读取缓冲区的大小,默认为 16384。
[+] : 改进 Telegram API,现在支持发送带按钮(回调和 URL)的机器人消息。
[+] : 改进 Telegram API,新增事件 "OnNewCallbackQuery",允许处理用户选择了哪些按钮。
[+] : 改进 Google PubSub API,现在支持使用 JWT 作为身份验证的服务账户。
[+] : 改进 MQTT 客户端,HeartBeat 现在支持超时,若在 X 时间后客户端未收到对之前发送的 ping 的响应,则自动关闭连接。
[*] : 修复启用 FastMM4 时写入 ALPN 协议的错误。
[*] : 修复启用 HTTP/2 和 FastMM4 时读取内部帧发生内存溢出的错误。
[*] : 修复 Indy 服务器错误:读取套接字数据后未使用 ReadTimeOut 值检查是否有更多数据需要处理的问题。
[*] : 修复 TsgcHTTP2Client 错误:收到 RSTStream 时,事件未被分配,引发访问冲突的问题。
[*] : 修复 Azure IoT MQTT 客户端错误:传递包含 "/" 字符的属性时未正确编码的问题。
[*] : 修复在 x64 下且启用 FastMM5 时关闭 HTTP.SYS 服务器(若启用了 SSL)时发生访问冲突的错误。
[*] : 修复在 DEBUG 下分配线程名称时,在某些情况下线程名称被分配给错误线程的错误。
[*] : 修复 HTTP/2 协议在未启用身份验证时无法读取基本授权的错误。
[*] : 修复服务器 HTTP/2 协议在头部帧尚未处理时读取 Window_Update 的错误。
[*] : 修复 HTTP/2 协议错误:连接窗口更新未被更新,关闭连接时引发错误的问题。
[*] : 修复 HTTP/2 协议解码静态表最后一个头部的错误。
[*] : 修复 HTTP/2 协议在客户端组件中接收意外流标识符的错误。
[*] : 修复 Google Calendar 客户端读取默认提醒时发生访问冲突的错误。
[*] : 修复 TsgcWebSocketClient 错误:若 Options.CleanDisconnect = True 且发送关闭消息时发生错误,则不会调用 disconnect 事件的问题。
[*] : 修复 TsgcWebSocketClient 错误:避免在 notifyEvents = neNoSync 时重新连接到服务器时潜在的线程锁定。(感谢 Stefan 反馈。)
[*] : 修复 TsgcWebSocketClient 错误:避免潜在的 OnDisconnect 事件被调用两次的问题。
[*] : 修复 Telegram 客户端上的内存泄漏错误。
[*] : 修复 SignalR 客户端错误:连接到非 SignalR 服务器时出现无效 variant 错误的问题。
[*] : 修复 SignalR 客户端错误:解码 ConnectionTimeout 时潜在的无效 variant 错误。
[*] : 修复 TsgcWebSocketClient 的 LogFile 线程不安全的错误。(感谢 Eddy 反馈。)
[*] : 修复 TsgcWebSocketClient 使用 TLS 1.3 时有时在连接到服务器时引发错误的问题。
[/] : TsgcWebSocketClient.FWSConnection 现在在调用 OnDisconnect 事件之前被清除。
