Bagikan melalui


Socket.BeginReceive Metode

Definisi

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

buffer
Byte[]

Array jenis Byte yang merupakan lokasi penyimpanan untuk data yang diterima.

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

bufferadalah null.

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

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

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

buffer
Byte[]

Array jenis Byte yang merupakan lokasi penyimpanan untuk data yang diterima.

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

bufferadalah null.

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

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

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

bufferadalah null.

.NET Framework dan .NET 5 dan yang lebih lama saja: Terjadi kesalahan saat mencoba mengakses soket.

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

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

bufferadalah null.

.NET Framework dan .NET 5 dan yang lebih lama saja: Terjadi kesalahan saat mencoba mengakses soket.

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

Berlaku untuk