I am working on a piece of software that will act like a server, which will receive commands from (potentially) multiple clients. In other words, it is expected to start running and stay in memory. While I have some C++ programming experience, this kind of project is new to me. Can someone give me suggestions on what terms I should search for on the Internet and/or what libraries I should be using?
For both the client and the server, my guess is that I should look into “C++ socket programming”. Also, I think that the Boost Asio library might also be relevant. Am I on the right track?
Within the “server”, I guess the program in main ()
shouldn’t do an exit ()
or a return ()
. It has to keep running, similar to how GUI programs (I have read in the past about how Qt programs work — I only have a rough idea) continuously run, waiting for input from the graphical interface. The program has to exit cleanly some other way, similar to how someone would do “File | eXit” in a GUI.
I’m just starting to get into this. Any advice, including books that explains this topic well, would be appreciated. I just don’t know where to start from.
Thank you!