Aracılığıyla paylaş


CAsyncSocket::ShutDown

Bu üye işlevi devre dışı bırakmak için gönderir, çağrıyı alır, ya da her iki yuvada.

BOOL ShutDown(
   int nHow = sends 
);

Parametreler

  • nHow
    Ne tür bir işlemi açıklayan bir bayrak artık, numaralandırılmış aşağıdaki değerleri kullanarak izin verilir:

    • alan = 0

    • gönderen = 1

    • hem = 2

Dönüş Değeri

Sıfır olmayan bir değer işlevi başarılı olursa; Aksi halde 0 ve belirli bir hata kodu çağırarak alınabilir GetLastError.Aşağıdaki hatalar bu üye işlev için geçerlidir:

  • WSANOTINITIALISED başarılı bir AfxSocketInit Bu API kullanmadan önce gerçekleştirilmelidir.

  • wsaenetdown Windows Sockets başlatılmasının algılanan ağ alt sistemi başarısız oldu.

  • WSAEINVAL   nHowgeçerli değil.

  • WSAEINPROGRESS engelleyen bir Windows yuva işlemi devam ediyor.

  • wsaenotconn Yuva bağlı değil (sock_stream sadece).

  • wsaenotsock bir soket tanımlayıcısı değil.

Notlar

ShutDownYuva her tür alımı, iletim veya her ikisini de devre dışı bırakmak için kullanılır.nHow 0'dır, üzerinde sonraki aldığı yuva izin verilmeyecek.Bu alt protokolü katmanlar üzerinde etkisi yoktur.

İletim Denetimi Protokolü (tcp) tcp pencere değişmez ve gelen verileri olacaktır pencere dolana kadar (ancak öğrenmesini değil) olarak kabul edildi.Kullanıcı Datagram Protokolü (udp) için gelen veri birimlerini kabul ve sıraya alındı.Hiçbir durumda, ICMP hata paketi oluşturulur.nHow 1, Sonraki gönderdiği izin verilmiyor.tcp yuva için bir FIN gönderilecektir.Ayar nHow 2'ye gönderdiği her ikisi de devre dışı bırakır ve yukarıda açıklandığı gibi alır.

Dikkat ShutDown mü değil yakın yuva ve kaynaklar için yuva bağlı değil kaldırılacaktır kadar kapatmak olarak adlandırılır.Bir uygulama, bir yuva onu kapatıldı sonra yeniden çalışabilme üzerinde güvenmemelisiniz.Özellikle, Windows Sockets başlatılmasının kullanımını desteklemek için gerekli değildir Connect bir yuva.

Örnek

Örnek için bkz: CAsyncSocket::OnReceive.

Gereksinimler

Başlık: afxsock.h

Ayrıca bkz.

Başvuru

CAsyncSocket sınıfı

Hiyerarşi grafik

CAsyncSocket::Connect

CAsyncSocket::Create