Socket.BeginReceive 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 menerima data secara asinkron dari .Socket
Overload
| Nama | Deskripsi |
|---|---|
| BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Mulai menerima data secara asinkron dari .Socket |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Mulai menerima data secara asinkron dari .Socket |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Mulai menerima data secara asinkron dari .Socket |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Mulai menerima data secara asinkron dari .Socket |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mulai menerima data secara asinkron dari .Socket
public:
IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- offset
- Int32
Posisi berbasis nol dalam buffer parameter untuk menyimpan data yang diterima.
- size
- Int32
Jumlah byte yang akan diterima.
- socketFlags
- SocketFlags
Kombinasi bitwise dari SocketFlags nilai.
- callback
- AsyncCallback
Delegasi AsyncCallback yang mereferensikan metode untuk dipanggil saat operasi selesai.
- state
- Object
Objek yang ditentukan pengguna yang berisi informasi tentang operasi penerimaan. Objek ini diteruskan ke EndReceive(IAsyncResult) delegasi ketika operasi selesai.
Mengembalikan
Yang IAsyncResult mereferensikan bacaan asinkron.
Pengecualian
buffer adalah null.
.NET Framework dan .NET 5 dan yang lebih lama hanya: Terjadi kesalahan saat mencoba mengakses soket.
Socket telah ditutup.
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.
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 BeginReceive mendapatkan pemberitahuan tentang penyelesaian operasi. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik akan dijalankan sebaris, selama panggilan ke BeginReceive. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true untuk menunjukkan bahwa metode selesai secara sinkron.
AsyncState Gunakan properti untuk IAsyncResult mendapatkan objek status yang diteruskan ke BeginReceive metode .
Operasi asinkron BeginReceive harus diselesaikan dengan memanggil EndReceive metode . Biasanya, metode ini dipanggil oleh AsyncCallback delegasi. EndReceive akan memblokir utas panggilan hingga operasi selesai.
Socket Tutup untuk membatalkan tertunda BeginReceive. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang disediakan untuk BeginReceive metode dipanggil. Panggilan berikutnya ke EndReceive metode akan melempar ObjectDisposedException (sebelum .NET 7) atau SocketException (pada .NET 7+) untuk menunjukkan bahwa operasi telah dibatalkan.
Nota
Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.
Nota
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.
Nota
state adalah instansiasi dari kelas yang ditentukan pengguna.
Nota
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Nota
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.
Lihat juga
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling Delegasi sebagai Metode Panggilan Balik
- Contoh Soket Klien Asinkron
- Contoh Soket Server Asinkron
Berlaku untuk
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mulai menerima data secara asinkron dari .Socket
public:
IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- offset
- Int32
Lokasi di buffer untuk menyimpan data yang diterima.
- size
- Int32
Jumlah byte yang akan diterima.
- socketFlags
- SocketFlags
Kombinasi bitwise dari SocketFlags nilai.
- errorCode
- SocketError
Objek SocketError yang menyimpan kesalahan soket.
- callback
- AsyncCallback
Delegasi AsyncCallback yang mereferensikan metode untuk dipanggil saat operasi selesai.
- state
- Object
Objek yang ditentukan pengguna yang berisi informasi tentang operasi penerimaan. Objek ini diteruskan ke EndReceive(IAsyncResult) delegasi ketika operasi selesai.
Mengembalikan
Yang IAsyncResult mereferensikan bacaan asinkron.
Pengecualian
buffer adalah null.
.NET Framework dan .NET 5 dan yang lebih lama hanya: Terjadi kesalahan saat mencoba mengakses soket.
Socket telah ditutup.
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.
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 BeginReceive mendapatkan pemberitahuan tentang penyelesaian operasi. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik akan dijalankan sebaris, selama panggilan ke BeginReceive. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true untuk menunjukkan bahwa metode selesai secara sinkron.
AsyncState Gunakan properti untuk IAsyncResult mendapatkan objek status yang diteruskan ke BeginReceive metode .
Operasi asinkron BeginReceive harus diselesaikan dengan memanggil EndReceive metode . Biasanya, metode ini dipanggil oleh AsyncCallback delegasi. EndReceive akan memblokir utas panggilan hingga operasi selesai.
Socket Tutup untuk membatalkan tertunda BeginReceive. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang disediakan untuk BeginReceive metode dipanggil. Panggilan berikutnya ke EndReceive metode akan melempar ObjectDisposedException (sebelum .NET 7) atau SocketException (pada .NET 7+) untuk menunjukkan bahwa operasi telah dibatalkan.
Nota
Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.
Nota
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.
Nota
state adalah instansiasi dari kelas yang ditentukan pengguna.
Nota
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Nota
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.
Lihat juga
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling Delegasi sebagai Metode Panggilan Balik
- Contoh Soket Klien Asinkron
- Contoh Soket Server Asinkron
Berlaku untuk
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mulai menerima data secara asinkron dari .Socket
public:
IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive(System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- buffers
- IList<ArraySegment<Byte>>
Array jenis Byte yang merupakan lokasi penyimpanan untuk data yang diterima.
- socketFlags
- SocketFlags
Kombinasi bitwise dari SocketFlags nilai.
- callback
- AsyncCallback
Delegasi AsyncCallback yang mereferensikan metode untuk dipanggil saat operasi selesai.
- state
- Object
Objek yang ditentukan pengguna yang berisi informasi tentang operasi penerimaan. Objek ini diteruskan ke EndReceive(IAsyncResult) delegasi ketika operasi selesai.
Mengembalikan
Yang IAsyncResult mereferensikan bacaan asinkron.
Pengecualian
buffers adalah null.
.NET Framework dan .NET 5 dan yang lebih lama hanya: Terjadi kesalahan saat mencoba mengakses soket.
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 BeginReceive mendapatkan pemberitahuan tentang penyelesaian operasi. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik akan dijalankan sebaris, selama panggilan ke BeginReceive. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true untuk menunjukkan bahwa metode selesai secara sinkron.
AsyncState Gunakan properti untuk IAsyncResult mendapatkan objek status yang diteruskan ke BeginReceive metode .
Operasi asinkron BeginReceive harus diselesaikan dengan memanggil EndReceive metode . Biasanya, metode ini dipanggil oleh AsyncCallback delegasi. EndReceive akan memblokir utas panggilan hingga operasi selesai.
Socket Tutup untuk membatalkan tertunda BeginReceive. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang disediakan untuk BeginReceive metode dipanggil. Panggilan berikutnya ke EndReceive metode akan melempar ObjectDisposedException (sebelum .NET 7) atau SocketException (pada .NET 7+) untuk menunjukkan bahwa operasi telah dibatalkan.
Nota
Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.
Nota
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.
Nota
state adalah instansiasi dari kelas yang ditentukan pengguna.
Nota
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Nota
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.
Lihat juga
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling Delegasi sebagai Metode Panggilan Balik
- Contoh Soket Klien Asinkron
- Contoh Soket Server Asinkron
Berlaku untuk
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mulai menerima data secara asinkron dari .Socket
public:
IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive(System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive(System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- buffers
- IList<ArraySegment<Byte>>
Array jenis Byte yang merupakan lokasi penyimpanan untuk data yang diterima.
- socketFlags
- SocketFlags
Kombinasi bitwise dari SocketFlags nilai.
- errorCode
- SocketError
Objek SocketError yang menyimpan kesalahan soket.
- callback
- AsyncCallback
Delegasi AsyncCallback yang mereferensikan metode untuk dipanggil saat operasi selesai.
- state
- Object
Objek yang ditentukan pengguna yang berisi informasi tentang operasi penerimaan. Objek ini diteruskan ke EndReceive(IAsyncResult) delegasi ketika operasi selesai.
Mengembalikan
Yang IAsyncResult mereferensikan bacaan asinkron.
Pengecualian
buffers adalah null.
.NET Framework dan .NET 5 dan yang lebih lama hanya: Terjadi kesalahan saat mencoba mengakses soket.
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 BeginReceive mendapatkan pemberitahuan tentang penyelesaian operasi. Perhatikan bahwa jika tumpukan jaringan yang mendasar menyelesaikan operasi secara sinkron, panggilan balik akan dijalankan sebaris, selama panggilan ke BeginReceive. Dalam hal ini, CompletedSynchronously properti pada yang dikembalikan IAsyncResult akan diatur ke true untuk menunjukkan bahwa metode selesai secara sinkron.
AsyncState Gunakan properti untuk IAsyncResult mendapatkan objek status yang diteruskan ke BeginReceive metode .
Operasi asinkron BeginReceive harus diselesaikan dengan memanggil EndReceive metode . Biasanya, metode ini dipanggil oleh AsyncCallback delegasi. EndReceive akan memblokir utas panggilan hingga operasi selesai.
Socket Tutup untuk membatalkan tertunda BeginReceive. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang disediakan untuk BeginReceive metode dipanggil. Panggilan berikutnya ke EndReceive metode akan melempar ObjectDisposedException (sebelum .NET 7) atau SocketException (pada .NET 7+) untuk menunjukkan bahwa operasi telah dibatalkan.
Nota
Jika Anda menerima SocketException, gunakan SocketException.ErrorCode properti untuk mendapatkan kode kesalahan tertentu.
Nota
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.
Nota
state adalah instansiasi dari kelas yang ditentukan pengguna.
Nota
Anggota ini mengeluarkan informasi pelacakan saat Anda mengaktifkan pelacakan jaringan di aplikasi Anda. Untuk informasi selengkapnya, lihat Pelacakan Jaringan di .NET Framework.
Nota
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.
Lihat juga
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling Delegasi sebagai Metode Panggilan Balik
- Contoh Soket Klien Asinkron
- Contoh Soket Server Asinkron