CSocket в синхронном режиме.
От: Agentx86 Украина  
Дата: 12.06.09 16:37
Оценка:
Мне нужно перевести CSocket в синхронный режим.
Вот к примеру я хочу поместить accept в отдельный поток. Я делаю это вот так.

UINT accept_client(LPVOID lpParam )
{
    CSocket pSocket;
    CSocket *m_main =(CSocket*) lpParam;
    for(;;)
    m_main->Accept(pSocket);
    return 0;
}
BOOL CservDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

..............
AfxSocketInit(); 
    return TRUE;  // return TRUE  unless you set the focus to a control
}
void CservDlg::OnBnClickedButton1()
{
CSocket ServerSocket; 
ServerSocket.Create(500,SOCK_STREAM,NULL);
ServerSocket.Bind(500, "127.0.0.1");
ServerSocket.Listen(); 
 AfxBeginThread(*accept_client,(void*)&ServerSocket);
}

Мне нужно, чтобы после запуска потоковой функции accept_client после строки m_main->Accept(pSocket) поток подвисал. И чтобы эта строка выполнялась еще раз только после подключения клиента. Подскажите каким образом перевести сокет в блокирующий режим?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.