I am trying to build an internet service that executes commands on the connected computers. Commands are initiated through a web-based dashboard.
I currently have a REST API running with Laravel and the frontend dashboard application built out.
I am getting stuck on how to connect the clients to the cloud service. Clients will be running different OSs (Windows, Mac, Linux).
I have a .NET Core desktop client partially built, but am unsure how to connect it back to the server in a way that will allow the server to send commands. I'm hoping to get this communication close to realtime and scalable to 1000s of endpoints. It also needs to be secure transport.(possibly HTTPS)
Some technologies I have stumbled upon are gRPC, WCF, Websockets. Also found some other reverse tunnel technologies that probably won't work.
This will most likely be hosted on MS Azure when finished.
Any help would be great! Thanks!
EDIT: modified question to be more clear in what I researched and what I am considering.