Socket.ReceiveMessageFromAsync 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.
Overload
ReceiveMessageFromAsync(SocketAsyncEventArgs) |
Mulai menerima jumlah byte data yang ditentukan secara asinkron ke lokasi yang ditentukan dalam buffer data, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket. |
ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint) |
Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan. |
ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan. |
ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken) |
Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan. |
ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan. |
ReceiveMessageFromAsync(SocketAsyncEventArgs)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mulai menerima jumlah byte data yang ditentukan secara asinkron ke lokasi yang ditentukan dalam buffer data, menggunakan SocketFlags, dan menyimpan titik akhir dan informasi paket.
public:
bool ReceiveMessageFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveMessageFromAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveMessageFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveMessageFromAsync (e As SocketAsyncEventArgs) As Boolean
Parameter
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
Tidak RemoteEndPoint boleh null.
Sudah Socket ditutup.
Terjadi kesalahan saat mencoba mengakses soket.
Keterangan
Metode ReceiveMessageFromAsync ini digunakan terutama untuk menerima data pesan pada soket tanpa koneksi. Alamat lokal soket harus diketahui. Metode ini hanya dapat digunakan dengan datagram dan soket mentah. Soket harus diinisialisasi dengan jenis soket yang diatur ke Dgram atau Raw sebelum memanggil metode ini. Ini dapat dilakukan ketika soket dibangun menggunakan Socket.
Pemanggil harus mengatur SocketAsyncEventArgs.RemoteEndPoint properti ke EndPoint jenis yang sama dengan titik akhir host jarak jauh. Properti akan diperbarui saat berhasil menerima ke titik akhir jarak jauh aktual.
Properti dan peristiwa berikut pada System.Net.Sockets.SocketAsyncEventArgs objek diperlukan agar berhasil memanggil metode ini:
Pemanggil dapat mengatur SocketAsyncEventArgs.UserToken properti ke objek status pengguna apa pun yang diinginkan sebelum memanggil ReceiveMessageFromAsync 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 berorientasi pesan, pesan masuk ditempatkan ke dalam buffer hingga ukuran total buffer. Properti SocketAsyncEventArgs.Count dan SocketAsyncEventArgs.Offset menentukan di mana dalam buffer data ditempatkan dan jumlah data.
Metode ini ReceiveMessageFromAsync secara otomatis mengatur PacketInformation opsi soket ke true
pertama kalinya dipanggil untuk diberikan Socket. Namun, IPPacketInformation objek hanya akan berlaku untuk paket yang tiba di komputer lokal setelah opsi soket diatur. Jika soket dikirim paket antara ketika soket terikat ke titik akhir lokal (secara eksplisit oleh Bind metode atau secara implisit oleh salah Connectsatu metode , , ConnectAsyncSendTo, atau SendToAsync ) dan panggilan pertama ke ReceiveMessageFromAsync metode , panggilan ke ReceiveMessageFromAsync metode akan menghasilkan objek yang tidak valid IPPacketInformation untuk paket ini.
Untuk memastikan bahwa semua IPPacketInformation objek valid, aplikasi harus mengatur PacketInformation opsi soket ketrue
sebelum terikat ke titik akhir lokal menggunakan SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) metode .
Aplikasi dapat memeriksa objek yang IPPacketInformation dihasilkan jika perlu mengetahui apakah datagram dikirim menggunakan alamat unicast, multicast, atau siaran.
Lihat juga
Berlaku untuk
ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan.
public:
System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveMessageFromResult> ^ ReceiveMessageFromAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync (ArraySegment<byte> buffer, System.Net.EndPoint remoteEndPoint);
member this.ReceiveMessageFromAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As ArraySegment(Of Byte), remoteEndPoint As EndPoint) As Task(Of SocketReceiveMessageFromResult)
Parameter
- buffer
- ArraySegment<Byte>
Buffer untuk data yang diterima.
- remoteEndPoint
- EndPoint
Titik akhir dengan jenis yang sama dengan titik akhir host jarak jauh.
Mengembalikan
Tugas asinkron yang selesai dengan SocketReceiveMessageFromResult berisi jumlah byte yang diterima dan informasi tambahan tentang host pengirim.
Pengecualian
Objek Socket telah ditutup.
remoteEndPoint
adalah null
.
Anda harus memanggil metode Ikat sebelum melakukan operasi ini.
Berlaku untuk
ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan.
public:
System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveMessageFromResult> ^ ReceiveMessageFromAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint);
member this.ReceiveMessageFromAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint) As Task(Of SocketReceiveMessageFromResult)
Parameter
- buffer
- ArraySegment<Byte>
Buffer untuk data yang diterima.
- socketFlags
- SocketFlags
Kombinasi bitwise dari nilai SocketFlags yang akan digunakan saat menerima data.
- remoteEndPoint
- EndPoint
Titik akhir dengan jenis yang sama dengan titik akhir host jarak jauh.
Mengembalikan
Tugas asinkron yang selesai dengan SocketReceiveMessageFromResult berisi jumlah byte yang diterima dan informasi tambahan tentang host pengirim.
Pengecualian
Objek Socket telah ditutup.
remoteEndPoint
adalah null
.
Anda harus memanggil metode Ikat sebelum melakukan operasi ini.
Berlaku untuk
ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan.
public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync (Memory<byte> buffer, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveMessageFromAsync : Memory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As Memory(Of Byte), remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveMessageFromResult)
Parameter
- remoteEndPoint
- EndPoint
Titik akhir dengan jenis yang sama dengan titik akhir host jarak jauh.
- cancellationToken
- CancellationToken
Token pembatalan yang dapat digunakan untuk memberi sinyal operasi asinkron harus dibatalkan.
Mengembalikan
Tugas asinkron yang selesai dengan SocketReceiveMessageFromResult berisi jumlah byte yang diterima dan informasi tambahan tentang host pengirim.
Pengecualian
Objek Socket telah ditutup.
remoteEndPoint
adalah null
.
Anda harus memanggil metode Ikat sebelum melakukan operasi ini.
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.
Berlaku untuk
ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Menerima data dan mengembalikan informasi tambahan tentang pengirim pesan.
public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync (Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveMessageFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveMessageFromResult)
Parameter
- socketFlags
- SocketFlags
Kombinasi bitwise dari nilai SocketFlags yang akan digunakan saat menerima data.
- remoteEndPoint
- EndPoint
Titik akhir dengan jenis yang sama dengan titik akhir host jarak jauh.
- cancellationToken
- CancellationToken
Token pembatalan yang dapat digunakan untuk memberi sinyal operasi asinkron harus dibatalkan.
Mengembalikan
Tugas asinkron yang selesai dengan SocketReceiveMessageFromResult berisi jumlah byte yang diterima dan informasi tambahan tentang host pengirim.
Pengecualian
Objek Socket telah ditutup.
remoteEndPoint
adalah null
.
Anda harus memanggil metode Ikat sebelum melakukan operasi ini.
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.