Поделиться через


CAsyncSocket::ShutDown

Эта функция-член вызывается с целью отключения отправляет получает или оба для сокета.

BOOL ShutDown(
   int nHow = sends 
);

Параметры

  • nHow
    Пометить, описывающий, какие типы операций, больше не будут разрешены, используя следующие перечисленные значения:

    • возвращает = 0

    • отправляет = 1

    • оба = 2

Возвращаемое значение

Ненулевой если функция успешно; в противном случае – значение 0, а конкретный код ошибки могут быть восстановлены путем вызова GetLastError.Об ошибке применяемых к данному функции-члену.

  • WSANOTINITIALISED А успешное AfxSocketInit должно произойти перед использованием этого API.

  • Реализация Windows WSAENETDOWN sockets обнаружила, что подсистема сети.

  • WSAEINVAL   Недопустимый параметр nHow.

  • WSAEINPROGRESS А операция блокировки Windows sockets выполняется.

  • WSAENOTCONN Сокет не подключено (SOCK_STREAM ).

  • Не WSAENOTSOCK дескриптор сокета.

Заметки

ShutDown используется во всех типах сокетов, чтобы отключить метод, передача или оба.Если nHow 0, то последующий возвращает для сокета запрещены.Это не влияет на более низких уровне протокола.

Для протокола TCP (TCP), не изменен окно TCP и входящие данные будут приняты (но не подтвержденного) до тех пор, пока поле не будет вымотано.Для UDP (UDP), приняты как входящие датаграммы.Никоим образом ICMP " пакет об ошибке будет создан.Если nHow 1, то последующий отправляет запрещены.Для сокетов TCP, РЕБРО будет отправлено.Параметр nHow в значение 2 блокирует и отправляет и получает как описано выше.

Обратите внимание, что ShutDown не закрыть сокет и ресурсы не будут освобождены, вложенные в гнезду до тех пор, пока не будет Закрыть вызываются.Приложение не должно полагаться на возможность повторного использования, когда сокет после деактивации.В частности, реализации Windows sockets не требуется для поддержки использования Подключить в одном сокете.

Пример

См. пример для CAsyncSocket::OnReceive.

Требования

Header: afxsock.h

См. также

Ссылки

Класс CAsyncSocket

Диаграмма иерархии

CAsyncSocket::Connect

CAsyncSocket::Create