Я занимаюсь программированием сокетов. Довольно много нового для него.
Приложение представляет собой службу Windows, в ее функции ServiceMain()
, которую я вызываю CAsyncSocket::Listen()
, для прослушивания клиентских подключений. Но после того, как он начнет прослушивать соединения, он вернется, и функция ServiceMain()
вернется, и служба будет остановлена.
Что я хочу сделать с этим, так это дождаться, пока не произойдет определенное событие, скажем WM_QUIT
, и только потом прослушивать соединения. Как это сделать?
// static member function (callback)
void CNTService::ServiceMain(DWORD dwArgc, LPTSTR* lpszArgv)
{
// m_Server containts two sockets
// one for listening and one for accepting connections
m_Server.StartListening(); // calls Listen method on the listener socket
// it will return and service will quit
// which I don't want
}
Я согласен с микшированием Win32 и MFC, поэтому, если это можно сделать в Win32, пожалуйста, сообщите мне тоже:)