Socket.SendAsync 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
SendAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Mengirim data pada soket yang tersambung. |
SendAsync(IList<ArraySegment<Byte>>, SocketFlags) |
Mengirim data pada soket yang tersambung. |
SendAsync(ArraySegment<Byte>, SocketFlags) |
Mengirim data pada soket yang tersambung. |
SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
Mengirim data pada soket yang tersambung. |
SendAsync(IList<ArraySegment<Byte>>) |
Mengirim data pada soket yang tersambung. |
SendAsync(ArraySegment<Byte>) |
Mengirim data pada soket yang tersambung. |
SendAsync(SocketAsyncEventArgs) |
Mengirim data secara asinkron ke objek yang tersambung Socket . |
SendAsync(ReadOnlyMemory<Byte>, CancellationToken)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Mengirim data pada soket yang tersambung.
public System.Threading.Tasks.ValueTask<int> SendAsync (ReadOnlyMemory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
member this.SendAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendAsync (buffer As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Parameter
- buffer
- ReadOnlyMemory<Byte>
Buffer untuk data yang akan dikirim.
- cancellationToken
- CancellationToken
Token pembatalan yang dapat digunakan untuk membatalkan operasi asinkron.
Mengembalikan
Tugas asinkron yang selesai dengan jumlah byte yang dikirim.
Pengecualian
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.
Berlaku untuk
SendAsync(IList<ArraySegment<Byte>>, SocketFlags)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Mengirim data pada soket yang tersambung.
public:
System::Threading::Tasks::Task<int> ^ SendAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> SendAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags);
member this.SendAsync : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function SendAsync (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags) As Task(Of Integer)
Parameter
- buffers
- IList<ArraySegment<Byte>>
Daftar buffer untuk dikirim data.
- socketFlags
- SocketFlags
Kombinasi bitwise dari nilai SocketFlags yang akan digunakan saat mengirim data.
Mengembalikan
Tugas asinkron yang selesai dengan jumlah byte yang dikirim.
Pengecualian
buffers
adalah null
.
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
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 Send(IList<ArraySegment<Byte>>, SocketFlags).
Berlaku untuk
SendAsync(ArraySegment<Byte>, SocketFlags)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Mengirim data pada soket yang tersambung.
public:
System::Threading::Tasks::Task<int> ^ SendAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags);
public System.Threading.Tasks.Task<int> SendAsync (ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags);
member this.SendAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags -> System.Threading.Tasks.Task<int>
Public Function SendAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags) As Task(Of Integer)
Parameter
- buffer
- ArraySegment<Byte>
Buffer untuk data yang akan dikirim.
- socketFlags
- SocketFlags
Kombinasi bitwise dari nilai SocketFlags yang akan digunakan saat mengirim data.
Mengembalikan
Tugas asinkron yang selesai dengan jumlah byte yang dikirim.
Pengecualian
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
Berlaku untuk
SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Mengirim data pada soket yang tersambung.
public System.Threading.Tasks.ValueTask<int> SendAsync (ReadOnlyMemory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Threading.CancellationToken cancellationToken = default);
member this.SendAsync : ReadOnlyMemory<byte> * System.Net.Sockets.SocketFlags * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendAsync (buffer As ReadOnlyMemory(Of Byte), socketFlags As SocketFlags, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Parameter
- buffer
- ReadOnlyMemory<Byte>
Buffer untuk data yang akan dikirim.
- socketFlags
- SocketFlags
Kombinasi bitwise dari nilai SocketFlags yang akan digunakan saat mengirim data.
- cancellationToken
- CancellationToken
Token pembatalan yang dapat digunakan untuk membatalkan operasi asinkron.
Mengembalikan
Tugas asinkron yang selesai dengan jumlah byte yang dikirim.
Pengecualian
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
Token pembatalan dibatalkan. Pengecualian ini disimpan ke dalam tugas yang dikembalikan.
Berlaku untuk
SendAsync(IList<ArraySegment<Byte>>)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Mengirim data pada soket yang tersambung.
public:
System::Threading::Tasks::Task<int> ^ SendAsync(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers);
public System.Threading.Tasks.Task<int> SendAsync (System.Collections.Generic.IList<ArraySegment<byte>> buffers);
member this.SendAsync : System.Collections.Generic.IList<ArraySegment<byte>> -> System.Threading.Tasks.Task<int>
Public Function SendAsync (buffers As IList(Of ArraySegment(Of Byte))) As Task(Of Integer)
Parameter
- buffers
- IList<ArraySegment<Byte>>
Daftar buffer untuk dikirim data.
Mengembalikan
Tugas asinkron yang selesai dengan jumlah byte yang dikirim.
Pengecualian
buffers
adalah null
.
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
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 Send(IList<ArraySegment<Byte>>).
Berlaku untuk
SendAsync(ArraySegment<Byte>)
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
- Sumber:
- Socket.Tasks.cs
Mengirim data pada soket yang tersambung.
public:
System::Threading::Tasks::Task<int> ^ SendAsync(ArraySegment<System::Byte> buffer);
public System.Threading.Tasks.Task<int> SendAsync (ArraySegment<byte> buffer);
member this.SendAsync : ArraySegment<byte> -> System.Threading.Tasks.Task<int>
Public Function SendAsync (buffer As ArraySegment(Of Byte)) As Task(Of Integer)
Parameter
- buffer
- ArraySegment<Byte>
Buffer untuk data yang akan dikirim.
Mengembalikan
Tugas asinkron yang selesai dengan jumlah byte yang dikirim.
Pengecualian
Terjadi kesalahan saat mencoba mengakses soket.
Socket Telah ditutup.
Berlaku untuk
SendAsync(SocketAsyncEventArgs)
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
- Sumber:
- Socket.cs
Mengirim data secara asinkron ke objek yang tersambung Socket .
public:
bool SendAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool SendAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.SendAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function SendAsync (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
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 .
Socket Telah ditutup.
Socket belum terhubung atau tidak diperoleh melalui Accept()metode , , AcceptAsync(SocketAsyncEventArgs)atau BeginAccept, .
Keterangan
Metode SendAsync ini digunakan untuk menulis data keluar dari satu atau beberapa buffer pada soket berorientasi koneksi. Metode ini juga dapat digunakan, namun, pada soket tanpa koneksi yang telah menentukan host jarak jauh pada operasi sambungkan.
Metode memulai SendAsync operasi pengiriman asinkron ke host jarak jauh yang ditetapkan dalam Acceptmetode , , AcceptAsyncBeginAccept, BeginConnect, Connectatau ConnectAsync .
Properti dan peristiwa berikut pada System.Net.Sockets.SocketAsyncEventArgs objek diperlukan agar berhasil memanggil metode ini:
SocketAsyncEventArgs.Buffer atau SocketAsyncEventArgs.BufferList
SocketAsyncEventArgs.Count jika SocketAsyncEventArgs.Buffer diatur
SocketAsyncEventArgs.Offset jika SocketAsyncEventArgs.Buffer diatur
Penelepon dapat mengatur SocketAsyncEventArgs.UserToken properti ke objek status pengguna apa pun yang diinginkan sebelum memanggil SendAsync 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.
Metode ini SendAsync akan memberikan pengecualian jika Anda tidak terlebih dahulu memanggil Accept, , AcceptAsync, ConnectBeginAcceptBeginConnect, atau .ConnectAsync
Memanggil SendAsync metode memberi Anda kemampuan untuk mengirim data dalam utas eksekusi terpisah.
Untuk soket berorientasi pesan, jangan melebihi ukuran pesan maksimum penyedia layanan soket Windows yang mendasar. Jika data terlalu panjang untuk diteruskan secara atomik melalui penyedia layanan yang mendasarSocketException, tidak ada data yang dikirimkan dan SendAsync metode melempar dengan SocketAsyncEventArgs.SocketError yang diatur ke kode kesalahan Winsock WSAEMSGSIZE asli (10040).
Perhatikan bahwa keberhasilan penyelesaian SendAsync metode tidak menunjukkan bahwa data berhasil dikirimkan.