Я занимаюсь программированием сокетов. Довольно много нового.Подождите, пока не произойдет событие
Приложение является службой 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, пожалуйста, скажите мне тоже :)
Можете ли вы сказать мне, как именно ждать клиент для подключения к серверу? Будет ли это работать? m_Listener.Listen(); WaitForSingleObject (m_Listener); – akif