I’m looking for info on creating a remote management interface for our software. This is not anything illicit. Our software is for live TV production and once they go on-air we can’t access the PC (usually through LogMeIn).
I would like to be able to upload/download files and issue commands to our software. The commands would be software specific like “load this file” or “run this script” or “return this value” etc.
A socket connection is preferred but the problem is most of our PCs are behind firewalls and NAT servers. I’m not sure where to start. I think HTTP tunneling is the way to go but am wondering if there are other options or recommendations.
Also, assume our clients are not willing to open up ports for security reasons.
Thanks.
6
If your clients are unwilling to change any network configurations you are out of luck.
You have two options assuming your clients are willing to work with you.
- RPC
- HTTP
I recommend http. Simply create a web interface for your application (home grown or not) and have certain urls trigger events in your application. You web server will listen to your socket and you can have whatever you want happen in response to the url that is requested (or whatever other verb is used). You need not limit yourself to http/1.1 though — you could write your own protocol on top of a socket connection.
If you are lucky, the machine has a public IP address and port 80 is open for incoming connections.
2