Socket.Shutdown(SocketShutdown) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.
Sudah Socket ditutup.
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.