Socket.EndReceive 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.
Mengakhiri pembacaan asinkron yang tertunda.
Overload
EndReceive(IAsyncResult) |
Mengakhiri pembacaan asinkron yang tertunda. |
EndReceive(IAsyncResult, SocketError) |
Mengakhiri pembacaan asinkron yang tertunda. |
EndReceive(IAsyncResult)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mengakhiri pembacaan asinkron yang tertunda.
public:
int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive (IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) As Integer
Parameter
- asyncResult
- IAsyncResult
Yang IAsyncResult menyimpan informasi status dan data yang ditentukan pengguna untuk operasi asinkron ini.
Mengembalikan
Jumlah byte yang diterima.
Pengecualian
asyncResult
adalah null
.
asyncResult
tidak dikembalikan oleh panggilan ke BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metode .
EndReceive(IAsyncResult) sebelumnya dipanggil untuk pembacaan asinkron.
.NET Framework, .NET Core, dan .NET 5-6 saja: Socket telah ditutup.
Keterangan
Penting
Ini adalah API kompatibilitas. Kami tidak merekomendasikan penggunaan metode APM (Begin*
dan End*
) untuk pengembangan baru. Sebagai gantinya Task
, gunakan setara berbasis.
EndReceive menyelesaikan operasi yang dimulai oleh BeginReceive. Anda perlu meneruskan yang IAsyncResult dibuat oleh panggilan yang BeginReceive cocok.
Metode ini EndReceive akan memblokir hingga data tersedia. Jika Anda menggunakan protokol tanpa koneksi, EndReceive akan membaca datagram antrean pertama yang tersedia di buffer jaringan masuk. Jika Anda menggunakan protokol berorientasi koneksi, EndReceive metode akan membaca data sebanyak yang tersedia hingga jumlah byte yang Anda tentukan dalam size
parameter BeginReceive metode . Jika host jarak jauh mematikan Socket koneksi dengan Shutdown metode , dan semua data yang tersedia telah diterima, EndReceive metode akan segera selesai dan mengembalikan nol byte.
Catatan
Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.
Catatan
Semua I/O yang dimulai oleh utas tertentu dibatalkan ketika utas tersebut keluar. Operasi asinkron yang tertunda dapat gagal jika utas keluar sebelum operasi selesai.
Catatan
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Lihat juga
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Berlaku untuk
EndReceive(IAsyncResult, SocketError)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mengakhiri pembacaan asinkron yang tertunda.
public:
int EndReceive(IAsyncResult ^ asyncResult, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int EndReceive (IAsyncResult asyncResult, out System.Net.Sockets.SocketError errorCode);
member this.EndReceive : IAsyncResult * SocketError -> int
Public Function EndReceive (asyncResult As IAsyncResult, ByRef errorCode As SocketError) As Integer
Parameter
- asyncResult
- IAsyncResult
Yang IAsyncResult menyimpan informasi status dan data yang ditentukan pengguna untuk operasi asinkron ini.
- errorCode
- SocketError
Objek SocketError yang menyimpan kesalahan soket.
Mengembalikan
Jumlah byte yang diterima.
Pengecualian
asyncResult
adalah null
.
asyncResult
tidak dikembalikan oleh panggilan ke BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metode .
EndReceive(IAsyncResult) sebelumnya dipanggil untuk pembacaan asinkron.
.NET Framework, .NET Core, dan .NET 5-6 saja: Socket telah ditutup.
Keterangan
Penting
Ini adalah API kompatibilitas. Kami tidak merekomendasikan penggunaan metode APM (Begin*
dan End*
) untuk pengembangan baru. Sebagai gantinya Task
, gunakan setara berbasis.
EndReceive menyelesaikan operasi yang dimulai oleh BeginReceive. Anda perlu meneruskan yang IAsyncResult dibuat oleh panggilan yang BeginReceive cocok.
Metode ini EndReceive akan memblokir hingga data tersedia. Jika Anda menggunakan protokol tanpa koneksi, EndReceive akan membaca datagram antrean pertama yang tersedia di buffer jaringan masuk. Jika Anda menggunakan protokol berorientasi koneksi, EndReceive metode akan membaca data sebanyak yang tersedia hingga jumlah byte yang Anda tentukan dalam size
parameter BeginReceive metode . Jika host jarak jauh mematikan Socket koneksi dengan Shutdown metode , dan semua data yang tersedia telah diterima, EndReceive metode akan segera selesai dan mengembalikan nol byte.
Catatan
Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.
Catatan
Semua I/O yang dimulai oleh utas tertentu dibatalkan ketika utas tersebut keluar. Operasi asinkron yang tertunda dapat gagal jika utas keluar sebelum operasi selesai.
Catatan
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Lihat juga
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)