Fungsi WSARecvDisconnect (winsock2.h)
Fungsi WSARecvDisconnect mengakhiri penerimaan pada soket, dan mengambil data pemutusan jika soket berorientasi koneksi.
Sintaks
int WSAAPI WSARecvDisconnect(
[in] SOCKET s,
[out] LPWSABUF lpInboundDisconnectData
);
Parameter
[in] s
Deskriptor yang mengidentifikasi soket.
[out] lpInboundDisconnectData
Penunjuk ke data pemutusan masuk.
Mengembalikan nilai
Jika tidak ada kesalahan yang terjadi, WSARecvDisconnect mengembalikan nol. Jika tidak, nilai SOCKET_ERROR dikembalikan, dan kode kesalahan tertentu dapat diambil dengan memanggil WSAGetLastError.
Kode kesalahan | Makna |
---|---|
Panggilan WSAStartup yang berhasil harus terjadi sebelum menggunakan fungsi ini. | |
Subsistem jaringan gagal. | |
Buffer yang dirujuk oleh parameter lpInboundDisconnectData terlalu kecil. | |
Data pemutusan sambungan tidak didukung oleh keluarga protokol yang ditunjukkan. Perhatikan bahwa implementasi TCP/IP yang tidak mendukung data pemutusan tidak diperlukan untuk mengembalikan kode kesalahan WSAENOPROTOOPT. Lihat bagian keterangan untuk informasi tentang implementasi Microsoft dari TCP/IP. | |
Pemblokiran panggilan Windows Sockets 1.1 sedang berlangsung, atau penyedia layanan masih memproses fungsi panggilan balik. | |
Soket tidak tersambung (hanya soket berorientasi koneksi). | |
Deskriptor bukan soket. |
Keterangan
Fungsi WSARecvDisconnect digunakan pada soket berorientasi koneksi untuk menonaktifkan penerimaan dan mengambil data pemutusan masuk dari pihak jarak jauh. Ini setara dengan pematian (SD_RECEIVE), kecuali bahwa WSARecvDisconnect juga memungkinkan penerimaan data pemutusan (dalam protokol yang mendukungnya).
Setelah fungsi ini berhasil diterbitkan, penerimaan berikutnya pada soket akan dilarang. Memanggil WSARecvDisconnect tidak berpengaruh pada lapisan protokol yang lebih rendah. Untuk soket TCP, jika masih ada data yang diantrekan pada soket yang menunggu untuk diterima, atau data tiba kemudian, koneksi diatur ulang, karena data tidak dapat dikirimkan kepada pengguna. Untuk UDP, datagram masuk diterima dan diantrekan. Tidak akan ada paket kesalahan ICMP yang dihasilkan.
Fungsi WSARecvDisconnect tidak menutup soket, dan sumber daya yang terpasang pada soket tidak akan dikosongkan sampai closesocket dipanggil.
Fungsi WSARecvDisconnect tidak memblokir terlepas dari pengaturan SO_LINGER pada soket.
Aplikasi tidak boleh mengandalkan untuk dapat menggunakan kembali soket setelah terputus menggunakan WSARecvDisconnect. Secara khusus, penyedia Windows Sockets tidak diperlukan untuk mendukung penggunaan koneksi atau WSAConnect pada soket tersebut.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winsock2.h |
Pustaka | Ws2_32.lib |
DLL | Ws2_32.dll |