Я разрабатываю приложение с графическим интерфейсом, используя boost :: asio для сетевой части. Я использую асинхронный UDP-сокет, предоставленный boost, и мой вопрос заключается в том, как управлять жизненным циклом объектов сокетов.
void someGuiEvent(...)
{
for(server ... serversList)
{
// instanciation of a socket object and start asynchronous sending
}
}
void handlerUdpReceive(...)
{
updateUi(incomingData);
// delete socket object
}
Какая архитектура для этого лучшая? Я думал о векторе unique_pointer объекта sockets и удаляю объект из вектора в обработчике получения.
Задача ещё не решена.
Других решений пока нет …