Welcome to Linux compiler!

With 4.1.0 version, linux compiler is supported so you can build your projects in linux, simple example:

program sgcWebSockets_linux;

 {$APPTYPE CONSOLE}

{$R *.res}

uses

  System.SysUtils, sgcWebSocket;

var

  oServer: TsgcWebSocketServer;

begin

  try

    oServer := TsgcWebSocketServer.Create(nil);

    oServer.Port := 5000;

    oServer.Active := True;

    while oServer.Active do

      Sleep(10);

  except

    on E: Exception do

      Writeln(E.ClassName, ': ', E.Message);

  end;

 

end.

 

Of course, Rad Studio 10.2 is full supported, so you can upgrade your projects to latest version.

MQTT client has been improved with new methods and there is a new demo showing main features.

Full list of changes:

 

 [+] : Added support for Rad Studio 10.2 Tokyo.

 [+] : Added support for Linux compiler.

 [+] : MQTT client, added subscribe method.

 [+] : MQTT client, added unsubscribe method.

 [+] : MQTT client, added publish method.

 [+] : MQTT client, added Authentication property, allows to set user and password to authenticate against MQTT Server.

 [+] : MQTT client, added HeartBeat property, keeps alive connection.

 [+] : MQTT client, added LastWillTestament property, when client disconnects, sends a message to other connected clients.

 [+] : New Property "NotifyDeletes" in Dataset Server Protocol, if enabled (by default) broadcast deleted record to all clients.

 [+] : New Method "BroadcastRecord" in Dataset Server Protocol, sends dataset record values to all clients.

 [+] : New Method "MetaData" in Dataset Server Protocol, sends metadata info to a single client.

 [+] : New Method "Synchronize" in Dataset Server Protocol, sends dataset record values to a single client.

 

 [*] : Fixed Bug ReadTimeout and ConnectionTimeout in client component.

 [*] : Added Guid property to Client File Protocol.

 [*] : Fixed Bug Invalid Character when trying to access to built-in javascript libraries.

 [*] : Fixed Bug File Protocol when BufferSize was set to zero, file was not saved properly.

 [*] : Fixed Memory Leaks on NextGen compiler.

 [*] : Fixed WebRTC Chrome console errors.

 

 

sgcWebSockets 4.0.2 introduces a new client for MQTT protocol. It's designed for lightweight publish/subscribe messaging transport and is usually used in IoT (Internet of Things).

Full List

 [+] : New Component TsgcWSPClient_MQTT, implements MQTT protocol, it's still beta and next versions will support more methods.

 [+] : MQTT client, added connect method.

 [+] : MQTT client, added connack method.

 [+] : MQTT client, added pingreq method.

 [+] : MQTT client, added pingresp method.

 [+] : MQTT client, added disconnect method.

 

 [*] : Fixed Bug Javascript SGC Protocol, when calling rpc method with non numeric parameters.

 [*] : Fixed Access Violation on client components when hard socket disconnect.

 [*] : Fixed Bug Dataset Protocol, synchronization didn't search if record exists.

 [*] : Fixed Bug when client disconnects, sometimes OnDisconnect event was not raised.

 [*] : Fixed Bug Dataset Protocol, parsing error in float fields.

 

In this version, the main changes affect to WinHTTP client, which now supports:

  1. Asynchronous requests: use the WinHTTP functions asynchronously. By default, all WinHTTP functions that use the returned HINTERNET handle are performed synchronously.
  2. Proxy support: now connections can use http proxies.

 

Full List

  [+] : WinHTTP client, added proxy support.

 [+] : WinHTTP client, added asynchronous request support.

 [+] : WinHTTP client, implemented query close status.

 

 [*] : Fixed Bug using OnBinary event in C#, added a new event to handle binary data using array of bytes.

 [*] : Fixed messages when compiling: unit '%s' implicitly imported into package '%s'

 [*] : Fixed Memory Leaks websocket server.

 [*] : Fixed Memory Leak TsgcWSClient.

 [*] : Fixed Bug, disconnect event was not raised in iOS / Android.

 [*] : Fixed Bug in WriteData method from protocol components.

 [*] : Fixed Bug, added QueueOptions to published properties of client.

 [*] : Fixed Bug, Access violation when Server.Active := False and SSL enabled.

 [*] : Fixed Bug, Access violation when Client.Active := False and SSL enabled.

 [*] : Fixed Bug, when RaiseDisconnectExceptions is not enabled, some exceptions were not catched.