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 yang tersambung Socket.
Overload
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Mulai menerima data secara asinkron dari yang tersambung Socket. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Mulai menerima data secara asinkron dari yang tersambung Socket. |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Mulai menerima data secara asinkron dari yang tersambung Socket. |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Mulai menerima data secara asinkron dari yang tersambung Socket. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mulai menerima data secara asinkron dari yang tersambung 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 terima. Objek ini diteruskan ke EndReceive(IAsyncResult) delegasi ketika operasi selesai.
Mengembalikan
Yang IAsyncResult mereferensikan pembacaan asinkron.
Pengecualian
buffer
adalah null
.
.NET Framework dan .NET 5 dan yang lebih lama saja: 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 dari IAsyncResult untuk 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 yang tertundaBeginReceive. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang diberikan ke 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.
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
state
adalah instansiasi dari kelas yang ditentukan pengguna.
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.
Lihat juga
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Penyusunan Delegasi sebagai Metode Panggilan Balik
- Contoh Soket Klien Asinkron
- Contoh Soket Server Asinkron
Berlaku untuk
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mulai menerima data secara asinkron dari yang tersambung 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 terima. Objek ini diteruskan ke EndReceive(IAsyncResult) delegasi ketika operasi selesai.
Mengembalikan
Yang IAsyncResult mereferensikan pembacaan asinkron.
Pengecualian
buffer
adalah null
.
.NET Framework dan .NET 5 dan yang lebih lama saja: 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 dari IAsyncResult untuk 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 yang tertundaBeginReceive. Ketika metode dipanggil Close saat operasi asinkron sedang berlangsung, panggilan balik yang diberikan ke 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.
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
state
adalah instansiasi dari kelas yang ditentukan pengguna.
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.
Lihat juga
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Penyusunan 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
Mulai menerima data secara asinkron dari yang tersambung 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 yang akan dipanggil saat operasi selesai.
- state
- Object
Objek yang ditentukan pengguna yang berisi informasi tentang operasi terima. Objek ini diteruskan ke EndReceive(IAsyncResult) delegasi ketika operasi selesai.
Mengembalikan
Yang IAsyncResult mereferensikan pembacaan asinkron.
Pengecualian
buffer
adalah null
.
.NET Framework dan .NET 5 dan yang lebih lama saja: 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 AsyncCallbackBeginReceive untuk 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 yang tertundaBeginReceive. Close Ketika metode dipanggil saat operasi asinkron sedang berlangsung, panggilan balik yang diberikan ke 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.
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
state
adalah instansiasi dari kelas yang ditentukan pengguna.
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.
Lihat juga
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Penyusunan 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
Mulai menerima data secara asinkron dari yang tersambung 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 yang akan dipanggil saat operasi selesai.
- state
- Object
Objek yang ditentukan pengguna yang berisi informasi tentang operasi terima. Objek ini diteruskan ke EndReceive(IAsyncResult) delegasi ketika operasi selesai.
Mengembalikan
Yang IAsyncResult mereferensikan pembacaan asinkron.
Pengecualian
buffer
adalah null
.
.NET Framework dan .NET 5 dan yang lebih lama saja: 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 AsyncCallbackBeginReceive untuk 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 yang tertundaBeginReceive. Close Ketika metode dipanggil saat operasi asinkron sedang berlangsung, panggilan balik yang diberikan ke 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.
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
state
adalah instansiasi dari kelas yang ditentukan pengguna.
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.
Lihat juga
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Penyusunan Delegasi sebagai Metode Panggilan Balik
- Contoh Soket Klien Asinkron
- Contoh Soket Server Asinkron