Aracılığıyla paylaş


Socket.Shutdown(SocketShutdown) Yöntem

Tanım

bir Socketüzerinde gönderme ve almaları devre dışı bırakır.

public:
 void Shutdown(System::Net::Sockets::SocketShutdown how);
public void Shutdown(System.Net.Sockets.SocketShutdown how);
member this.Shutdown : System.Net.Sockets.SocketShutdown -> unit
Public Sub Shutdown (how As SocketShutdown)

Parametreler

how
SocketShutdown

SocketShutdown Artık izin verilmeyen işlemi belirten değerlerden biri.

Özel durumlar

Yuvaya erişmeye çalışılırken bir hata oluştu.

Örnekler

Aşağıdaki kod örneği, öğesini devre dışı bırakmak Socketiçin kullanırShutdown.

try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}
    Try
        aSocket.Shutdown(SocketShutdown.Both)
    Finally
        aSocket.Close()
    End Try

End Sub

Açıklamalar

Bağlantı odaklı Socketkullanırken, kapatmadan önce her zaman yöntemini çağırın ShutdownSocket. Bu, tüm verilerin kapatılana kadar bağlı yuvaya gönderilmesini ve alınmasını sağlar.

Close ile ilişkili tüm yönetilen ve yönetilmeyen kaynakları boşaltmak için yöntemini çağırınSocket. Kapattıktan sonra öğesini yeniden kullanma girişiminde Socket kullanmayın.

Aşağıdaki tabloda, parametresi için how geçerli olan numaralandırma değerleri gösterilmektedirSocketShutdown.

Değer Açıklama
Gönder Bu Socketüzerinde göndermeyi devre dışı bırakın.
Alın Bu Socketüzerinde almayı devre dışı bırakın.
Her ikisi Bu Socketüzerinde hem göndermeyi hem de almayı devre dışı bırakın.

ayarı how , Send öğesini izleyen çağrılara Send izin verilmediğini belirtir. Bağlantısız Socketkullanıyorsanız, belirtmenin Send hiçbir etkisi olmaz.

ayarı how , Receive öğesini izleyen çağrılara Receive izin verilmediğini belirtir. Bunun alt protokol katmanları üzerinde hiçbir etkisi yoktur. Bağlantı odaklı bir protokol kullanıyorsanız, çağrısından Shutdown sonra aşağıdaki koşullardan biri varsa bağlantı sonlandırılır:

  • Veriler gelen ağ arabelleğinde alınmayı bekliyor.

  • Daha fazla veri geldi.

Bağlantısız bir protokol kullanıyorsanız, veri birimleri kabul edilir ve kuyruğa alınır. Ancak, ek gelen veri birimleri için kullanılabilir arabellek alanı yoksa, bunlar atılır ve gönderene hiçbir hata döndürülür. Bağlantısız Socket bir cihazda kullanılması Shutdown önerilmez.

ayarı howBoth , yukarıda açıklandığı gibi hem gönderme hem de almaları devre dışı bırakır.

Uyarı

yöntemini çağırırken Shutdown bir SocketException alırsanız, belirli bir hata kodunu almak için özelliğini kullanınSocketException.ErrorCode. Bu kodu aldıktan sonra, hatanın ayrıntılı açıklaması için Windows Yuvaları sürüm 2 API hata kodu belgelerine bakın.

Uyarı

Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini döndürür. Daha fazla bilgi için bkz. .NET Framework'te Ağ İzleme.

Şunlara uygulanır

Ayrıca bkz.