Share via


Socket.Shutdown(SocketShutdown) Metode

Definisi

Menonaktifkan pengiriman dan penerimaan pada Socket.

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)

Parameter

how
SocketShutdown

Salah SocketShutdown satu nilai yang menentukan operasi yang tidak akan lagi diizinkan.

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

Contoh

Contoh kode berikut menggunakan Shutdown untuk menonaktifkan Socket.

try
{
   aSocket->Shutdown(SocketShutdown::Both);
   aSocket->Close();
}
catch (...)
{
   aSocket->Close();
   throw;
}

if ( aSocket->Connected )
{
   Console::WriteLine( "Winsock error: {0}", Convert::ToString(
      System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
try
{
    aSocket.Shutdown(SocketShutdown.Both);
}
finally
{
    aSocket.Close();
}
    Try
        aSocket.Shutdown(SocketShutdown.Both)
    Finally
        aSocket.Close()
    End Try

End Sub

Keterangan

Saat menggunakan berorientasi Socketkoneksi , selalu panggil Shutdown metode sebelum menutup Socket. Ini memastikan bahwa semua data dikirim dan diterima pada soket yang terhubung sebelum ditutup.

Close Panggil metode untuk membebaskan semua sumber daya terkelola dan tidak terkelola yang Socketterkait dengan . Jangan mencoba menggunakan Socket kembali setelah penutupan.

Tabel berikut ini memperlihatkan SocketShutdown nilai enumerasi yang valid untuk how parameter .

Nilai Deskripsi
Kirim Nonaktifkan pengiriman pada ini Socket.
Terima Nonaktifkan penerimaan pada ini Socket.
Keduanya Nonaktifkan pengiriman dan penerimaan pada ini Socket.

Pengaturan how untuk Send menentukan bahwa panggilan berikutnya ke Send tidak diizinkan. Jika Anda menggunakan tanpa Socketkoneksi , menentukan Send tidak akan berpengaruh.

Pengaturan how untuk Receive menentukan bahwa panggilan berikutnya ke Receive tidak diizinkan. Ini tidak berpengaruh pada lapisan protokol yang lebih rendah. Jika Anda menggunakan protokol berorientasi koneksi, koneksi dihentikan jika salah satu kondisi berikut ada setelah panggilan ke Shutdown :

  • Data berada di buffer jaringan masuk yang menunggu untuk diterima.

  • Lebih banyak data telah tiba.

Jika Anda menggunakan protokol tanpa koneksi, datagram diterima dan diantrekan. Namun, jika tidak ada ruang buffer yang tersedia untuk datagram masuk tambahan, ruang buffer akan dibuang dan tidak ada kesalahan yang akan dikembalikan ke pengirim. Penggunaan Shutdown pada tanpa Socket koneksi tidak disarankan.

Pengaturan how untuk Both menonaktifkan pengiriman dan penerimaan seperti yang dijelaskan di atas.

Catatan

Jika Anda menerima SocketException saat memanggil Shutdown metode , gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu. Setelah Anda mendapatkan kode ini, lihat dokumentasi kode kesalahan API Windows Sockets versi 2 untuk deskripsi terperinci tentang kesalahan tersebut.

Catatan

Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.

Berlaku untuk

Lihat juga