sgcWebSockets 4.5.0

· Versiones

 Esta es la lista completa de nuevas funcionalidades y correcciones de errores incluidas en sgcWebSockets 4.5.0:

[+] : Nuevo componente TsgcSTUNServer, implementa el protocolo STUN Server y ofrece un servicio para descubrir la dirección IP y el puerto mapeados.
[+] : Nuevo componente TsgcSTUNClient, implementa el protocolo STUN Client.
[+] : Nueva demo que muestra cómo usar el servidor y el cliente STUN, en la carpeta "35.P2P\02.STUN".
[+] : Nuevo componente TsgcWSAPI_FTX, componente cliente con soporte para el trading de criptomonedas del broker FTX. Admite:
       - Canales WebSocket públicos y privados.
       - Endpoints REST públicos y privados.
[+] : Nuevas propiedades "BoundPortMin" y "BoundPortMax" en TsgcWebSocketClient, permiten establecer el puerto local mínimo y máximo usado por el cliente WebSocket.
[+] : Nueva propiedad "LingerState" en TsgcWebSocketClient, permite resetear una conexión de socket cuando LingerState = 0. Por defecto el valor es -1, lo que significa que la conexión se cerrará de forma elegante.
[+] : Modificado el método Publish de Google PubSub: ahora tiene un nuevo parámetro llamado "aOrderingKey" donde puedes establecer el nombre del atributo que actúa como clave.
[+] : Mejorado el servidor HTTP.SYS: si Watchdog.Monitor está activo y el servidor es SSL, el monitor del cliente usa SChannel en lugar de OpenSSL.
[+] : Mejorada la API de Binance, nueva propiedad "TestNet"; si está activa, conectará con la cuenta demo de Binance.
[+] : Mejorado el componente cliente de la API Spot de Binance, nuevos métodos: CancelAllOpenOrders, PlaceMarketOrder, PlaceLimitOrder y PlaceStopOrder.
[+] : Mejorado el componente cliente de la API Futures de Binance, nuevos métodos: PlaceMarketOrder, PlaceLimitOrder y PlaceStopOrder.
[+] : Mejorado el cliente WebSocket WinHTTP: implementados los métodos Connect y Disconnect para esperar hasta que el cliente se haya conectado/desconectado del servidor.
[+] : Mejorado el cliente WebSocket WinHTTP: implementados los métodos Start y Stop que se conectan/desconectan del servidor en un hilo secundario, evitando bloquear el hilo principal.
[+] : Mejorada la API de Telegram: el método GetSupergroupMembers ahora se puede filtrar por Administrator, Bots, Contacts...
[+] : Mejorado el servidor OAuth2, nuevo método "AddToken" que permite recuperar los tokens emitidos cuando el servidor OAuth2 se reinicia.

[*] : Corregido error en Google PubSub: si los mensajes publicados tenían atributos, los atributos no llevaban comillas dobles.
[*] : Corregido error en el servidor HTTP.SYS: las CustomHeaders establecidas en la HTTP Response no se incluían en las cabeceras de la HTTP Response.
[*] : Corregido error en el servidor HTTP.SYS: el ContentStream no se incluía en el body de la HTTP Response.
[*] : Corregido error: cuando Options.RaiseDisconnectException era True, el evento se lanzaba en el contexto del hilo de la conexión aunque notifyEvents <> neNoSync.
[*] : Corregido error al compilar bajo FPC y ARM: había un thread-lock usando la última versión de Indy.
[*] : Corregido error en el servidor HTTP.SYS: LogFile.FileName no era editable en tiempo de diseño.
[*] : Corregido error en el servidor HTTP.SYS: memory leak cuando la conexión se desconectaba.
[*] : Corregido error en el cliente WebSocket WinHTTP (asynchronous = true): el buffersize era fijo en lugar de usar la propiedad ReceiveBufferSize.
[*] : Corregido error en el cliente WebSocket WinHTTP (asynchronous = true): si había un error durante el handshake WebSocket, se lanzaba una excepción no gestionada.
[*] : Corregido error: cuando TsgcWebSocketClient tenía asociada una API, si el evento OnDisconnect interno tenía una excepción al procesarse, el evento no se invocaba.
[*] : Corregido error en la API de Telegram cuando Document.FileName tiene caracteres UTF-8.

[/] : Renombrada la propiedad TsgcWebResponseHTTPAPI.CustomHeader a TsgcWebResponseHTTPAPI.CustomHeaders.
[/] : Modificada la función PlaceStopOrder del cliente de la API Coinbase.
[/] : Modificado el valor de Book Depth "bde15" a "bde20".
[/] : Renombrada la función "GetApp" del servidor OAuth2 a "GetAppByClientId".