Всем доброго дня! Такой вопрос: Если у меня есть слушающий сокет: Код (Text): SOCKET listener=0; И для него всё проинициализировано (создан сокет, привязан к локальному адресу и поставлен на прослушивание) и я начинаю выбирать событие в отдельном потоке: Код (Text): fd_set fdsRead; FD_ZERO(&fdsRead); FD_SET(listener,&fdsRead); result=select(0,&fdsRead,0,0,0); То есть тут я делаю блокировку до тех пор, пока не придёт событие на сокет (то есть это обычно пока не подключится клиент). ПЕРВЫЙ вопрос: Вот поток у меня заблокирован и ждёт. Если вдруг случится какая-то неполадка, молния стукнула и сетевая плата сгорела (или ещё что-то), тогда я получу в result значение SOCKET_ERROR, а в WSAGetLastError() значение WSAENETDOWN (10050: Операция на сокете обнаружила отключение сети)? ВТОРОЙ вопрос: Собственно он унаследован от первого. Та же ситуация, только в место молнии я сделаю так в основном потоке: Код (Text): if(listener) { closesocket(listener); listener=0; } Тогда я получу в result значение SOCKET_ERROR, а в WSAGetLastError() значение WSAENOTSOCK (10038: Сделана попытка выполнить операцию на объекте, не являющемся сокетом)?