TWebClientConnector
The TWebClientConnector is a component to establish a connection between a TMS Web Core application running in the browser and a client application written in FMX or VCL running in a desktop or mobile environment. In combination with the TTMSFNCWebCoreClientBrowser (available in TMS FNC Core) the TMS Web Core application can be viewed in your favorite environment. TWebClientConnector is defined in the unit WEBLib.ClientConnector.
Setting up the TWebClientConnector
In your TMS Web Core application, drop an instance of TWebClientConnector on the form. There are no additional steps necessary to start receiving and sending messages at browser side.
To receive messages, you can implement the OnReceivedMessage event. The
OnReceivedMessage returns JSON, below is a sample of parsing JSON in the
OnReceivedMessage event:
procedure TForm1.DoReceivedMessage(Sender: TObject; AJSON:
TJSONObject);
var
s: string;
begin
s := TJSJSON.stringify(AJSON.JSObject);
WebMemo1.Text := s;
end;
Sending messages with the TWebClientConnector
To send messages, you need to encapsulate your data in JSON, then send it to the client,
which the TWebClientConnector is connected to.
procedure TForm1.SendButtonClick(Sender: TObject);
var
o: TJSONObject;
js: TJSON;
s: string;
I: Integer;
begin
js := TJSON.Create;
s := '{"Message From Browser":"'+
TTMSFNCUtils.EscapeString(WebMemo1.Text) +'"}';
o := js.parse(s);
w.Send(o);
o.Free;
end;
Ofcourse, sending and receiving will only work when a client, writing in VCL or FMX, is connected. Below are the steps necessary to have a working connection between browser and client.
Setting up the TTMSFNCWebCoreClientBrowser
Drop an instance of the TTMSFNCWebCoreClientBrowser on the form and enter the URL of your TMS Web Core application. When starting the application, the client will automatically try to establish a connection with the TMS Web Core application running the TWebClientConnector component instance. When the connection is established, the OnConnected event is triggered, allowing you to start sending and receiving messages. For receiving messages at client side, the OnReceivedMessage event (similar to the TMS Web Core application implementation for TWebClientConnector) can be used.