Bagikan melalui


Socket.SendAsync Metode

Definisi

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

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

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.

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

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

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

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

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

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.

Lihat juga

Berlaku untuk