Link to home
Start Free TrialLog in
Avatar of Kyle Foster
Kyle FosterFlag for United States of America

asked on

Delphi RDP Virtual Channel Implementation code

I am looking for a Delphi 7 example of an RDC Virtual Channel implementation.  

The need is for Topaz digital signatures that use SigSock.exe.  Sigsock.exe takes a command linek parameter that has to be the public ip of the RDP server, and Topaz does not support an RDP server cluster.  We use RemoteApp to deliver a Delphi 7 application to our end users from Azure, and we are building in redundancy.  The RemoteApp.rdp file points to a DNS A record that points to our traffic-manager(Load balancer), so we do not kow the ip of the actual server that the session will be on.

Sigsock.exe is used to capture the digital signature and send it to their OCX control that is running on the RDP server.  

The virtual channel's server executable will send the servers IP back to the client side channel dll, and the dll will spawn sigsock.exe with the correct parameters.  I can write this, but a shell that has already been tested would save a lot of time learning the ins and outs.

IT_Saige sent me some code, but it is in C# and I would rather not install VS.
Avatar of Martyn Spencer
Martyn Spencer
Flag of United Kingdom of Great Britain and Northern Ireland image

Are you still looking for this? I wrote some code to do work with RDP and virtual channels in Delphi a while back and may be able to share it with you.
Avatar of Kyle Foster

ASKER

Martyn,  I just say your message here from October of last year.  I would love to find a solution as we are having to fake a RDP cluster in Azure's load balancing.  Here is the scenario;  
  • We have RDP01, RDP02 and RDP03 which are Windows Server 2012 R2 MS Azure based Virtual Servers.  
  • The RDP servers use RFS replicated file system to sync the sigplus.ini files and other configuration files using a mesh environment.  If any file changes on 1 server, RFS updates the other servers in the cluster in the background.
  • We use Topaz HSB(USB) model signature pads with our system.
  • I am having to use DNS A records (clientname.domain.com) to force which VM in the cluster each client connects to

This is not really a load balanced cluster, except for where I do the load on my whiteboard and determine which server has more availability, and it is costing cash since we need more resources to make certain that each VM can handle its maximum load without any performance hit.  At the same time the user is not getting the best possible experience since they are not being routed to the VM with the most available resources.

We are redeveloping our system in a browser based 3-tier architecture, so this will no longer be needed once that is complete, but that is two to two and half years out.  Any chance you are available for some consulting work on this?   I am the only Delphi programmer we have, and I am really hooked up at the moment with managing our new development.
  
Just messaged you with my contact details.

This question needs an answer!
Become an EE member today
7 DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.