本版本包含的变更:
[+] : 新增对 Rad Studio 10.3.3 Rio 中 Android 64 位的支持。
[+] : 新增对基于 Indy 组件的 OpenSSL 1.1.1 支持。*需要自定义 Indy 版本(Beta)
[+] : 在 TsgcWebSocketServer 和 TsgcWebSocketServerHTTP 中新增事件 OnSSLALPNSelect。*需要自定义 Indy 版本(Beta)
[+] : 新增对基于 Indy 的服务器和客户端组件的 ALPN(应用层协议协商)支持。*需要自定义 Indy 版本(Beta)
[+] : 在 TsgcIoTAmazon_MQTT_Client 中新增属性 "Port",默认使用端口 8883。若端口为 443,则自动使用 ALPN 进行连接。*需要自定义 Indy 版本(Beta)
[+] : 在服务器组件的 OpenSSL_Options 中新增属性 "ECDHE",允许修复使用 TLS 1.2 的 RSA 时 Chrome 的警告。
[+] : 更新聊天演示以展示 OpenSSL API 1.0 和 1.1 的使用。
[*] : 修复为 OSX 编译 XE8 包时的错误。
[*] : 修复 SGC 协议错误:当服务器在 qosLevel1 或 qosLevel2 级别的通道中发布消息时,消息从未被发送至客户端的问题。
Android 64 位
sgcWebSockets 4.3.2 为 Delphi 新增了对 Android 64 位的官方支持。
阅读更多
自定义 Indy 包(Beta)
近年来,Indy 未曾更新或仅应用了修复,几个对 sgcWebSockets 包非常重要的新功能尚未实现。为此,我在最近数月致力于提供一个具有更多功能的自定义 Indy 包。从 sgcWebSockets 4.3.2 起,发布了一个新的 sgcWebSockets 包,目前处于 Beta 状态。该包包含所有 Indy 所需的源码,因此无需在 IDE 中安装 Indy(但若已存在也不会冲突,因为 Indy 源码已被重命名)。此版本包含的新功能有:支持 OpenSSL 1.1、支持 ALPN 以及一些小错误修复。
Indy OpenSSL 1.1 API
最新版 Indy 仅支持 OpenSSL 1.0.2 版本,这意味着明年起这些库将不再收到更新,因为 OpenSSL 团队将不再为 1.0 API 发布更多更新。为此,我为 Indy 实现了 OpenSSL 1.1 支持(需要自定义 Indy 包),使基于 Indy 的客户端和服务器组件支持 TLS 1.3 版本。
聊天演示已更新,展示 OpenSSL 1.1 的工作方式(若不想安装 Beta 包,可下载已编译的演示)。
阅读更多
ALPN
sgcWebSockets 4.3.2 配合自定义 Indy 包支持 ALPN,该协议正被越来越广泛地使用,并且是 HTTP/2 等协议所必需的。
阅读更多
sgcWebSockets 4.3.2
