проблема с закрытием сокета

Тема в разделе "WASM.NETWORKS", создана пользователем 10_Brasil, 27 сен 2006.

  1. 10_Brasil

    10_Brasil New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2006
    Сообщения:
    54
    у меня 2 потока, на одном выполняется обработка слушающего порта с помощью событийной модели:

    Код (Text):
    1. s[0]=WSASocket(...);
    2. ...
    3. WSAEventSelect(s[0],hEvent[0],FD_CLOSE | FD_ACCEPT)
    4. ...
    5. WSAWaitForMultipleEvents(Total,hEvent,FALSE,WSA_INFINITE,FALSE);
    6. ...
    на втором (гуи) при щелчке на кнопку мне надо закрыть этот слушающий сокет,
    но проблема в том что при вызове closesocket(s[0]) сокет закрывается, а поток №1
    не возвращает управление, т.е. все так же остается на ф-и WSAWaitForMultipleEvents.
    Вопрос: как можно корректно сообщить потоку №1 что нужно завершить сокет (чтото типа послать
    ему FD_CLOSE)
     
  2. Mescalito

    Mescalito New Member

    Публикаций:
    0
    Регистрация:
    31 мар 2005
    Сообщения:
    78
    Адрес:
    Харьков