вообщем надо написать службу (service), внутри которой создается сокет. сокет должен быть ассинхронный и работать через очередь сообщений, то есть выделяется hwnd, потом WSAAsyncSelect. вопрос, будет ли такой механизм работать в службе (в плане создания hwnd)? надо ли будет службе устанавливать флаг interactive и достаточно ли будет этого?
Max AFAIK, через очередь сообщений вообще делать это никогда не стоит (не только в случае службы). Надо через accept и создавать поток на обработку каждого коннекта. Такое я уже делал и как раз в службе.
Это в случае постоянной передачи информации по сети стоит делать отдельные потоки. А если прога 90% времени проводит в ожидании инфы от сокета стоит делать через сообщения.
Так в том и прикол, что соединение может продолжаться большое время, а куча потоков тормозит и затрудняет отладку. Тут уже надо исходить из конкр. задачи, точно сказать что лучше - нельзя. ЗЫ. Был бы один из вариантов идеальным, второго бы не существовало...
Quantum Поток будет создан только в момент соединения у меня соединения вообще нет - сокет udp-шный и простой до безобразия - на входные данные он дает ответ (типа ping'а). надо для того, чтобы клиент быстро нашел список серверов в локальной сети через broadcast сообщение, а не пинговал все станции по очереди, что есть не быстро. сокет должен быть ассинхронный и работать через очередь сообщений это потому, что это уже есть, а переписывать все это на всякие overlapped процедуры, порты завершения в/в и т.п. у меня не стоИт, хотя это было бы правильнее...