Full duplex RemObjects communication via websockets:
Thanks to a colleague, who asked if it was possible to send data from the server to a client (push, instead of polling or pull), I answered: good question, websockets are bi-directional, so it should be possible. And yes, it works :).
See below some Delphi code on the server: during(!) a client call, we send some data back to the client. The client receives it in its own connection thread, and updates the time on the button and the progressbar :).

function TNewService.GetServerTime: DateTime;
var
  i: Integer;
begin
  for i := 0 to 100 do
  begin
    (Self.Transport.GetTransportObject as TROWebsocketServer)
      .SendCustomDataThroughCurrentConnection( DateTimeToStr(Now) );
    Sleep(1000);
  end;

  Result := Now;
end;

Also a push from server to client, when no pending action is executed, is possible via a broadcast (but also to a single connection is possible).

Code + executables:
http://asmprofiler.googlecode.com/svn/trunk/-Other-/ROWebsocketsNode/ROWebsocketsDuplex.zip
Photo
Shared publiclyView activity