Bagikan melalui


Socket.EndReceiveFrom(IAsyncResult, EndPoint) Metode

Definisi

Mengakhiri pembacaan asinkron yang tertunda dari titik akhir tertentu.

public:
 int EndReceiveFrom(IAsyncResult ^ asyncResult, System::Net::EndPoint ^ % endPoint);
public int EndReceiveFrom (IAsyncResult asyncResult, ref System.Net.EndPoint endPoint);
member this.EndReceiveFrom : IAsyncResult * EndPoint -> int
Public Function EndReceiveFrom (asyncResult As IAsyncResult, ByRef endPoint As EndPoint) As Integer

Parameter

asyncResult
IAsyncResult

Yang IAsyncResult menyimpan informasi status dan data yang ditentukan pengguna untuk operasi asinkron ini.

endPoint
EndPoint

Sumber EndPoint.

Mengembalikan

Jika berhasil, jumlah byte yang diterima. Jika tidak berhasil, mengembalikan 0.

Pengecualian

asyncResultadalah null.

EndReceiveFrom(IAsyncResult, EndPoint) sebelumnya dipanggil untuk pembacaan asinkron.

Terjadi kesalahan saat mencoba mengakses soket.

-atau-

Hanya .NET 7+: Socket telah ditutup.

.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.

EndReceiveFrom menyelesaikan operasi yang dimulai oleh BeginReceiveFrom. Anda perlu meneruskan yang IAsyncResult dibuat oleh panggilan yang BeginReceiveFrom cocok.

Metode EndReceiveFrom ini akan memblokir hingga data tersedia. Jika Anda menggunakan protokol tanpa koneksi, EndReceiveFrom akan membaca datagram antrean pertama yang tersedia di buffer jaringan masuk. Jika Anda menggunakan protokol berorientasi koneksi, EndReceiveFrom metode akan membaca data sebanyak yang tersedia hingga jumlah byte yang Anda tentukan dalam size parameter BeginReceiveFrom metode . Jika host jarak jauh mematikan Socket koneksi dengan Shutdown metode , dan semua data yang tersedia telah diterima, EndReceiveFrom metode akan segera selesai dan mengembalikan nol byte. Untuk mendapatkan data yang diterima, panggil AsyncState metode IAsyncResult objek , dan ekstrak buffer yang terkandung dalam objek status yang dihasilkan. Untuk mengidentifikasi host asal, ekstrak EndPoint dan transmisikan ke IPEndPoint. IPEndPoint.Address Gunakan metode untuk mendapatkan alamat IP dan IPEndPoint.Port metode untuk mendapatkan nomor port.

Catatan

Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.

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