У меня довольно сложная проблема, связанная с потоком программ на C ++ с использованием сокетов.
По сути, у меня есть следующее: простая серверная программа сокетов командной строки, которая прослушивает сокет и принимает по одному соединению за раз. Когда это соединение потеряно, оно открывается для дальнейших соединений.
Эта система сокетной связи содержится в классе. Класс полностью способен принимать соединения и зеркалировать данные, полученные клиенту. Однако в этом классе используются сокеты UNIX, которые не являются объектно-ориентированными.
Моя проблема в том, что в моей функции main () у меня есть одна строка - та, которая создает экземпляр этого объекта. Затем объект инициализируется и ждет. Но как только соединение установлено, функция инициализации объекта возвращается, и когда это происходит, программа завершает работу. Как мне как-то подождать, пока этот объект будет удален, прежде чем программа закроется?
Резюме:
- main () создает экземпляр объекта
- Объект слушает
- Соединение получено
- Функция инициализации объекта возвращает
- Основные () выходы (!)
Я хочу, чтобы main () каким-то образом задерживал, пока этот объект не завершит то, что он делает (он сам удалит себя), прежде чем завершится.
Есть мысли?