Re: Прерывание Socket.Accept().
От: Jolly Roger  
Дата: 23.11.10 08:16
Оценка:
Здравствуйте, America, Вы писали:

Например как-то так

private AutoResetEvent cancelIO = new AutoResetEvent(false);
void AcceptThreadFunc(...)
{
    var ar = socket.BeginAccept(null, null);
    var handles = new WaitHandle[2];
    handles[0] = ar.AsyncWaitHandle;
    handles[1] = cancelIo;
    var i = WaitHandle.WaitAny(handles);
    if (i == 0) // accepted
    else // cancelled
}

Мысль, думаю, понятна.
"Нормальные герои всегда идут в обход!"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.