Socket.BeginReceiveMessageFrom 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.
Mulai secara asinkron menerima jumlah byte data yang ditentukan ke lokasi buffer data yang ditentukan, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket.
public:
IAsyncResult ^ BeginReceiveMessageFrom(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ % remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceiveMessageFrom (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceiveMessageFrom (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, ref System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginReceiveMessageFrom : byte[] * int * int * System.Net.Sockets.SocketFlags * EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceiveMessageFrom (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- offset
- Int32
Posisi berbasis nol dalam buffer
parameter untuk menyimpan data.
- size
- Int32
Jumlah byte yang akan diterima.
- socketFlags
- SocketFlags
Kombinasi bitwise dari SocketFlags nilai.
- remoteEP
- EndPoint
Referensi ke EndPoint jenis yang sama dengan titik akhir host jarak jauh yang akan diperbarui pada penerimaan sinkron.
- callback
- AsyncCallback
Delegasi AsyncCallback .
- state
- Object
Objek yang berisi informasi status untuk permintaan ini.
Mengembalikan
Yang IAsyncResult mereferensikan pembacaan asinkron.
Pengecualian
.NET Framework dan .NET 5 dan yang lebih lama saja: Terjadi kesalahan saat mencoba mengakses soket.
offset
kurang dari 0.
-atau-
offset
lebih besar dari panjang buffer
.
-atau-
size
kurang dari 0.
-atau-
size
lebih besar dari panjang buffer
dikurangi nilai offset
parameter.
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.
Anda dapat meneruskan panggilan balik yang diterapkan AsyncCallback untuk BeginReceiveMessageFrom mendapatkan pemberitahuan tentang penyelesaian operasi. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik akan dijalankan sebaris, selama panggilan ke BeginReceiveMessageFrom. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true
untuk menunjukkan bahwa metode selesai secara sinkron.
AsyncState Gunakan properti dari IAsyncResult untuk mendapatkan objek status yang diteruskan ke BeginReceiveMessageFrom metode .
Operasi asinkron BeginReceiveMessageFrom harus diselesaikan dengan memanggil EndReceiveMessageFrom metode . Biasanya, metode ini dipanggil oleh AsyncCallback delegasi. EndReceiveMessageFrom akan memblokir utas panggilan hingga operasi selesai.
Untuk membatalkan tertunda BeginReceiveMessageFrom, panggil Close metode .
Metode ini membaca data ke dalam buffer
parameter, dan menangkap titik akhir host jarak jauh tempat data dikirim, serta informasi tentang paket yang diterima. Untuk informasi tentang cara mengambil titik akhir ini, lihat EndReceiveMessageFrom. Metode ini paling berguna jika Anda berniat untuk menerima datagram tanpa koneksi secara asinkron dari host yang tidak diketahui atau beberapa host.
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.
Catatan
Konteks eksekusi (konteks keamanan, pengguna yang ditiru, dan konteks panggilan) di-cache untuk metode asinkron Socket . Setelah penggunaan pertama konteks tertentu (metode asinkron Socket tertentu, instans tertentu Socket , dan panggilan balik tertentu), penggunaan konteks tersebut berikutnya akan melihat peningkatan performa.