Cambios incluidos en sgcWebSockets 4.4.1
[+] : Mejorada la API de Telegram, añadido soporte para Android.
[+] : Nueva propiedad "DatabaseDirectory" en el cliente Telegram. Permite establecer el directorio donde está la base de datos TDLib.
[+] : Mejorada la demo de Telegram para pedir al usuario una contraseña si el componente Telegram la requiere.
[+] : Mejorada la velocidad de lectura de datos WebSocket (requiere Delphi 2010+); se aplica a los componentes servidor y cliente.
[+] : Los hilos ahora se identifican por classname o classname + Connection.Guid mientras Debug está activo.
[+] : Nueva propiedad TimeOut en el servidor IOCP Indy, permite establecer el timeout máximo al cerrar los hilos del servidor.
[+] : Actualizado OpenSSL Custom Indy: añadido X509_verify_cert_error_string para poder recuperar el error de certificado. (Gracias a Sébastien por su parche).
[+] : Mejorado el protocolo Dataset: hay una nueva propiedad "FormatSettings" para establecer los ajustes de formato de los campos float y datetime (evitando diferencias de formato entre peers).
[+] : Añadido soporte para ALPN (Application-Layer Protocol Negotiation) cuando se establece SChannel en TsgcWebSocketClient.
[+] : Nueva propiedad "Path" en la API Socket.IO. Permite establecer un path personalizado antes de conectarse al servidor socket.io.
[*] : Corregidos errores al compilar CBuilder 2010.
[*] : Corregido error en Rad Studio 10.4 al destruir objetos con compiladores nextgen.
[*] : Corregido error: el archivo de configuración del compilador no incluía el componente Telegram.
[*] : Corregido error en la API MQTT 5.0 al leer las propiedades PubACK, PubREC, PubREL, PubCOMP.
[*] : Corregido error en MQTT 5.0 al llamar al método publish y pasar propiedades como parámetro.
[*] : Corregido error en el servidor Indy + IOCP: access violation al cerrar la conexión.
[*] : Corregido error en el servidor Indy + IOCP: se mostraba al usuario final la excepción "connection closed gracefully".
[*] : Corregido error en el servidor Indy + IOCP: se han eliminado memory leaks.
[*] : Corregido error en TsgcWebSocketClient.Connect: si el peer remoto no estaba disponible, se lanzaba una excepción.
[*] : Corregido error en el cliente del protocolo MQTT: cuando el watchdog está activo y el valor de Attempts es mayor que cero, el cliente intentaba reconectar más veces que el valor de attempts.
[*] : Corregido error en OpenSSL Custom Indy: para openssl 1.1.1, usar EVP_MD_CTX_new y EVP_MD_CTX_free. (Gracias a Sébastien por su parche).
[*] : Corregido error en OpenSSL Custom Indy: cambiado el nombre incorrecto para sk_pop_free y añadidas algunas funciones disponibles para enlace estático. (Gracias a Sébastien por su parche).
[*] : Corregido error al compilar sgcWebSockets + Custom Indy en Linux. (Gracias a Hans por su parche).
[*] : Corregido error en TsgcWebSocketClient cuando el servidor envía un sub-protocolo que el cliente no ha solicitado.
[*] : Corregido error en TsgcWebSocketClient_WinHTTP: cuando Async = True y TLS está activado, el cliente no podía conectarse al servidor.
[*] : Corregido error en el protocolo Presence: si al desconectarse no se encontraba un miembro, se lanzaba una excepción. (Gracias a Michael por avisar).
[*] : Corregido error en el cliente Intraweb al enviar un mensaje con Intraweb XV.
[*] : Corregido error de Thread Lock al desconectar el cliente cuando TLS está activado con la última versión de Indy.
[*] : Corregido error en TsgcWebSocketClient_WinHTTP: los mensajes binarios no se leían correctamente en las últimas versiones de Delphi / CBuilder.
[*] : Corregido error en el cliente Azure IoT: no podía conectarse según la configuración de Timezone.
[*] : Corregido error en el componente Telegram: SetTDJsonPath no estaba declarado como método público.
[*] : Corregido error en el JavaScript del protocolo Presence al enviar caracteres como las dobles comillas en los mensajes JSON.
[*] : Corregida la demo de Socket.IO: no funcionaba porque la URL del servidor había cambiado.
[/] : Eliminado el TsgcWebSocketClient_SocketIO obsoleto. Ahora socket.io solo está disponible como API.
[/] : Cambiadas las enumeraciones HTTP de Binance para evitar conflicto con las enumeraciones WebSocket.
[/] : Cambiadas las enumeraciones HTTP de Kraken para evitar conflicto con las enumeraciones WebSocket.
