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