I have a rather tricky problem regarding C++ program flow using sockets.
Basically what I have is this: a simple command-line socket server program that listens on a socket and accepts one connection at a time. When that connection is lost it opens up for further connections.
That socket communication system is contained in a class. The class is fully capable of receiving the connections and mirroring the data received to the client. However, the class uses UNIX sockets, which are not object-oriented.
My problem is that in my main() function, I have one line - the one that creates an instance of that object. The object then initializes and waits. But as soon as a connection is gained, the object's initialization function returns, and when that happens, the program quits. How do I somehow wait until this object is deleted before the program quits?
Summary:
- main() creates instance of object
- Object listens
- Connection received
- Object's initialization function returns
- main() exits (!)
What I want is for main() to somehow delay until that object is finished with what it's doing (aka it will delete itself) before it quits.
Any thoughts?