У меня есть серверное приложение с такой структурой:
Есть один объект, называемый его Сервер, который в бесконечном цикле слушает и принимает соединения.
У меня есть потомок класса от CAsyncSocket, который переопределил событие OnReceive, назовите его ProxySocket.
Также у меня есть пул потоков с ранее созданными потоками.
Когда объект сервера получает соединение, он принимает новое соединение для нового объекта ProxySocket.
Когда данные поступают в ProxySocket, он создает объект команды и передает его в пул потоков. В этом объекте команды я дал дескриптор сокета ProxySocket. Когда создается новый объект команды - я создаю новый сокет в рабочем потоке и прикрепляю к нему дескриптор.
Моя проблема следующая:
Когда команда заканчивается, сокет не закрывается, я просто отсоединяю дескриптор и устанавливаю дескриптор CSocket в значение INVALID_SOCKET, как и планировалось. Но мой первый объект ProxySocket не получает сообщения о получении новых данных после этого. Как я могу решить это?