Don't know where to post this question but I'll give it a try here first...
Our product consists of several VB applications - 1 server, >=1 client(s) - which at this time are communicating through databases and/or files. Example: the user wants to execute a "command" => the client application adds a record to the "commands" recordset in the database => the server is "polling" this recordset (every x secs) to see if he has to launch a command => if so, the server does the job and when the "command" is completed, the server sets the completion flag of the command (still in the same recordset) to "true" => meanwhile, the client is polling again the same recordset to see when the requested command has been completed... Wow...!
As you'll notice, this implementation is SLOW and non-efficient, especially when server and clients are not on the same machine, when multiple users send commands or when several commands at the same time are being executed... Moreover, while the client is waiting for completion - which is crucial to our application - the user can't do anything else...
To the point:
What's the most pragmatic and efficient way to, let's say, "wake-up" the server (when he has to do something) and "wake-up" the client (when the command is actually executed) in other words to get rid of our polling mechanism?
We're considering some sort of messaging system - but how: TCP, UDP, DCOM, ...???
Our software originally ran on UNIX machines using shared memory to do the job... What's the way to do it in both Win9x and WinNT?
Thanks to all experts out there...