The orgnized way to control commands and monitor data in IOT environment

Hi everyone

Sorry for my bad english.
I’m very beginner in the field of IOT. I want to know what is the professional and robust way to create communication between an IOT node and my client?

For instance, a very simple way that came to my mind is this way:

A - an IOT node contains an esp32 with a tft display and a few analog and digital pins to read and write. Writen by c++ in arduino IDE.
B - a web server with php support.
C - an application which can run on a smart phone, desktop or a tablet. Writen in unity by c#

At the moment i can monitor values and control commands data of the IOT node (A) from my client app (C) everywhere in the internet through a JSON which is placed in my web server (B).

Now my question is that both A and C have to refresh and sync ther local JSON by the main JSON that placed on the server. For example each 10 secends or 2 minutes or any short interval. This way seems weird. I guess this method couldn’t be a professional way. After each short interval both client and iot node have to consume energy and send and receive data continuously.

What is the professional way to create an organized communication in IOT world?

I look forward to hearing from you friends.
Any useful link, main keyword, article or any clue
Tnx a lot
Hamed