Share via


Socket.ReceiveAsync Metode

Definisi

Overload

ReceiveAsync(ArraySegment<Byte>)

Menerima data dari soket yang tersambung.

ReceiveAsync(IList<ArraySegment<Byte>>)

Menerima data dari soket yang tersambung.

ReceiveAsync(SocketAsyncEventArgs)

Memulai permintaan asinkron untuk menerima data dari objek yang tersambung Socket .

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Menerima data dari soket yang tersambung.

ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags)

Menerima data dari soket yang tersambung.

ReceiveAsync(Memory<Byte>, CancellationToken)

Menerima data dari soket yang tersambung.

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

Menerima data dari soket yang tersambung.

ReceiveAsync(ArraySegment<Byte>)

Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs

Menerima data dari soket yang tersambung.

public:
 System::Threading::Tasks::Task<int> ^ ReceiveAsync(ArraySegment<System::Byte> buffer);
public System.Threading.Tasks.Task<int> ReceiveAsync (ArraySegment<byte> buffer);
member this.ReceiveAsync : ArraySegment<byte> -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffer As ArraySegment(Of Byte)) As Task(Of Integer)

Parameter

buffer
ArraySegment<Byte>

Buffer untuk data yang diterima.

Mengembalikan

Tugas asinkron yang selesai dengan jumlah byte yang diterima.

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

Berlaku untuk

ReceiveAsync(IList<ArraySegment<Byte>>)

Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs

Menerima data dari soket yang tersambung.

public:
 System::Threading::Tasks::Task<int> ^ ReceiveAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers);
public System.Threading.Tasks.Task<int> ReceiveAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers);
member this.ReceiveAsync : System.Collections.Generic.IList<ArraySegment<byte>> -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffers As IList(Of ArraySegment(Of Byte))) As Task(Of Integer)

Parameter

buffers
IList<ArraySegment<Byte>>

Daftar buffer untuk data yang diterima.

Mengembalikan

Tugas asinkron yang selesai dengan jumlah byte yang diterima.

Pengecualian

Parameter buffers null.

Terjadi kesalahan saat mencoba mengakses soket.

Keterangan

Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Receive(IList<ArraySegment<Byte>>).

Berlaku untuk

ReceiveAsync(SocketAsyncEventArgs)

Sumber:
Socket.cs
Sumber:
Socket.cs
Sumber:
Socket.cs

Memulai permintaan asinkron untuk menerima data dari objek yang tersambung Socket .

public:
 bool ReceiveAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveAsync (e As SocketAsyncEventArgs) As Boolean

Parameter

e
SocketAsyncEventArgs

Objek SocketAsyncEventArgs yang digunakan untuk operasi soket asinkron ini.

Mengembalikan

true jika operasi I/O tertunda. Peristiwa Completed pada e parameter akan dinaikkan setelah menyelesaikan operasi.

false jika operasi I/O selesai secara sinkron. Dalam hal ini, Peristiwa Completed pada e parameter tidak akan dinaikkan dan e objek yang diteruskan sebagai parameter dapat diperiksa segera setelah panggilan metode kembali untuk mengambil hasil operasi.

Pengecualian

Argumen tidak valid. Properti Buffer atau BufferList pada parameter harus mereferensikan e buffer yang valid. Satu atau yang lain dari properti ini dapat diatur, tetapi tidak keduanya pada saat yang sama.

Operasi soket sudah berlangsung menggunakan SocketAsyncEventArgs objek yang ditentukan dalam e parameter .

Terjadi kesalahan saat mencoba mengakses soket.

Keterangan

Metode ReceiveAsync ini digunakan pada soket yang terhubung atau soket tanpa koneksi terikat dan digunakan untuk membaca data masuk. Alamat lokal soket harus diketahui.

Untuk soket tanpa koneksi terikat, fungsi ini membatasi alamat tempat pesan yang diterima diterima. Fungsi ini hanya mengembalikan pesan dari alamat jarak jauh yang ditentukan dalam koneksi. Pesan dari alamat lain dibuang secara diam-diam.

Properti SocketAsyncEventArgs.SocketFlags pada e parameter menyediakan penyedia layanan Window Sockets dengan informasi tambahan tentang permintaan baca. Untuk informasi selengkapnya tentang cara menggunakan parameter ini, lihat System.Net.Sockets.SocketFlags.

Properti dan peristiwa berikut pada System.Net.Sockets.SocketAsyncEventArgs objek diperlukan agar berhasil memanggil metode ini:

Penelepon dapat mengatur SocketAsyncEventArgs.UserToken properti ke objek status pengguna apa pun yang diinginkan sebelum memanggil ReceiveAsync metode , sehingga informasi akan dapat diambil dalam metode panggilan balik. Jika panggilan balik membutuhkan lebih banyak informasi daripada satu objek, kelas kecil dapat dibuat untuk menyimpan informasi status lain yang diperlukan sebagai anggota.

Untuk soket gaya aliran byte, data masuk ditempatkan ke dalam buffer hingga buffer terisi, koneksi ditutup, atau data yang di-buffer secara internal habis.

Untuk soket berorientasi pesan, pesan masuk ditempatkan ke dalam buffer hingga ukuran total buffer yang terkait dengan e parameter . Jika pesan lebih besar dari buffer, buffer diisi dengan bagian pertama pesan.

Untuk soket berorientasi koneksi, ReceiveAsync metode ini dapat menunjukkan penghentian sirkuit virtual dengan anggun dengan salah satu dari dua cara yang bergantung pada apakah soket berorientasi pada aliran byte atau pesan. Untuk aliran byte, nol byte yang telah dibaca menunjukkan penutupan anggun dan tidak ada lagi byte yang akan dibaca. Untuk soket berorientasi pesan, di mana pesan byte nol sering diizinkan, SocketException dengan SocketAsyncEventArgs.SocketError diatur ke kode kesalahan Winsock WSAEDISCON asli (10101) digunakan untuk menunjukkan penutupan yang lancar. Bagaimanapun, SocketException dengan SocketAsyncEventArgs.SocketError diatur ke kode kesalahan Winsock WSAECONNRESET asli (10054) menunjukkan penutupan abortif telah terjadi.

Lihat juga

Berlaku untuk

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs

Menerima data dari soket yang tersambung.

public:
 System::Threading::Tasks::Task<int> ^ ReceiveAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> ReceiveAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags);
member this.ReceiveAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags) As Task(Of Integer)

Parameter

buffer
ArraySegment<Byte>

Buffer untuk data yang diterima.

socketFlags
SocketFlags

Kombinasi bitwise dari nilai SocketFlags yang akan digunakan saat menerima data.

Mengembalikan

Tugas asinkron yang selesai dengan jumlah byte yang diterima.

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

Berlaku untuk

ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags)

Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs

Menerima data dari soket yang tersambung.

public:
 System::Threading::Tasks::Task<int> ^ ReceiveAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> ReceiveAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags);
member this.ReceiveAsync : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function ReceiveAsync (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags) As Task(Of Integer)

Parameter

buffers
IList<ArraySegment<Byte>>

Daftar buffer untuk data yang diterima.

socketFlags
SocketFlags

Kombinasi bitwise dari nilai SocketFlags yang akan digunakan saat menerima data.

Mengembalikan

Tugas asinkron yang selesai dengan jumlah byte yang diterima.

Pengecualian

Parameter buffers null.

Terjadi kesalahan saat mencoba mengakses soket.

Keterangan

Metode ini disimpan dalam tugas yang menampilkan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Receive(IList<ArraySegment<Byte>>, SocketFlags).

Berlaku untuk

ReceiveAsync(Memory<Byte>, CancellationToken)

Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs

Menerima data dari soket yang tersambung.

public System.Threading.Tasks.ValueTask<int> ReceiveAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parameter

buffer
Memory<Byte>

Buffer untuk data yang diterima.

cancellationToken
CancellationToken

Token pembatalan yang dapat digunakan untuk membatalkan operasi asinkron.

Mengembalikan

Tugas asinkron yang selesai dengan jumlah byte yang diterima.

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Berlaku untuk

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs
Sumber:
Socket.Tasks.cs

Menerima data dari soket yang tersambung.

public System.Threading.Tasks.ValueTask<int> ReceiveAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function ReceiveAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parameter

buffer
Memory<Byte>

Buffer untuk data yang diterima.

socketFlags
SocketFlags

Kombinasi bitwise dari nilai SocketFlags yang akan digunakan saat menerima data.

cancellationToken
CancellationToken

Token pembatalan yang dapat digunakan untuk membatalkan operasi asinkron.

Mengembalikan

Tugas asinkron yang selesai dengan jumlah byte yang diterima.

Pengecualian

Terjadi kesalahan saat mencoba mengakses soket.

Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.

Berlaku untuk