Udostępnij za pośrednictwem


CAsyncSocket::ShutDown

Wywołanie tej funkcji Członkowskich wyłączyć wysyła, otrzymuje, lub na gnieździe.

BOOL ShutDown( 
   int nHow = sends  
);

Parametry

  • nHow
    Flaga, który opisuje rodzaje operacji już dozwolone, używając następujących wartości:

    • odbiera = 0

    • wysyła = 1

    • zarówno = 2

Wartość zwracana

Niezerowa, jeśli funkcja jest pomyślne; w przeciwnym razie 0 i kod błędu mogą być pobierane przez wywołanie GetLastError.Do tej funkcji Członkowskich stosuje się następujące błędy:

  • WSANOTINITIALISED pomyślnie AfxSocketInit musi wystąpić przed użyciem tego interfejsu API.

  • WSAENETDOWN implementacja Windows Sockets wykrył, że podsystem sieci nie powiodło się.

  • WSAEINVAL   nHownie jest prawidłowy.

  • WSAEINPROGRESS jest wykonywana operacja blokująca Windows Sockets.

  • WSAENOTCONN gniazdo nie jest połączony (SOCK_STREAM tylko).

  • WSAENOTSOCK deskryptora nie jest gniazdem.

Uwagi

ShutDownjest używany na wszystkie rodzaje gniazd wyłączyć odbioru lub transmisji.Jeśli nHow jest 0, otrzymuje kolejne na gnieździe będzie niedozwolone.To nie ma wpływu na niższe warstwy protokołu.

Protokół kontroli transmisji (TCP) okna TCP nie jest zmieniana i przychodzące dane zostaną przyjęte (ale nie potwierdzone), aż do wyczerpania okna.Datagramy przychodzące dla protokołu UDP (User Datagram), są akceptowane i w kolejce.W żadnym przypadku nie zostanie pakiet ICMP błędu wygenerowany.Jeśli nHow 1, wysyła kolejnych są niedozwolone.Dla gniazda TCP FIN zostaną wysłane.Ustawienie nHow 2 wyłącza zarówno wysyła i odbiera, jak opisano powyżej.

Należy zauważyć, że ShutDown jest nie zamknąć gniazda i zasoby dołączone do gniazda nie zostanie zwolniona do zamknąć jest wywoływana.Aplikacja nie powinny polegać na możliwość ponownego użycia gniazda po został on zamknięty.W szczególności implementacja Windows Sockets nie jest wymagane do obsługi Połącz na takie gniazda.

Przykład

Zobacz przykład dla CAsyncSocket::OnReceive.

Wymagania

Nagłówek: afxsock.h

Zobacz też

Informacje

Klasa CAsyncSocket

Diagram hierarchii

CAsyncSocket::Connect

CAsyncSocket::Create