Socket.SendAsync Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| SendAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Bağlı bir yuvaya veri gönderir. |
| SendAsync(IList<ArraySegment<Byte>>, SocketFlags) |
Bağlı bir yuvaya veri gönderir. |
| SendAsync(ArraySegment<Byte>, SocketFlags) |
Bağlı bir yuvaya veri gönderir. |
| SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
Bağlı bir yuvaya veri gönderir. |
| SendAsync(IList<ArraySegment<Byte>>) |
Bağlı bir yuvaya veri gönderir. |
| SendAsync(ArraySegment<Byte>) |
Bağlı bir yuvaya veri gönderir. |
| SendAsync(SocketAsyncEventArgs) |
Verileri bağlı Socket bir nesneye zaman uyumsuz olarak gönderir. |
SendAsync(ReadOnlyMemory<Byte>, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Bağlı bir yuvaya veri gönderir.
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)
Parametreler
- buffer
- ReadOnlyMemory<Byte>
Gönderilecek verilerin arabelleği.
- cancellationToken
- CancellationToken
Zaman uyumsuz işlemi iptal etmek için kullanılabilecek bir iptal belirteci.
Döndürülenler
Gönderilen bayt sayısıyla tamamlanan zaman uyumsuz bir görev.
Özel durumlar
İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.
Şunlara uygulanır
SendAsync(IList<ArraySegment<Byte>>, SocketFlags)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Bağlı bir yuvaya veri gönderir.
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)
Parametreler
- buffers
- IList<ArraySegment<Byte>>
Gönderilecek verilerin arabellek listesi.
- socketFlags
- SocketFlags
Verileri gönderirken kullanılacak SocketFlags değerlerinin bit düzeyinde birleşimi.
Döndürülenler
Gönderilen bayt sayısıyla tamamlanan zaman uyumsuz bir görev.
Özel durumlar
buffers, null'e eşittir.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Açıklamalar
Bu yöntem, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Send(IList<ArraySegment<Byte>>, SocketFlags)oluşan özel durumlara bakın.
Şunlara uygulanır
SendAsync(ArraySegment<Byte>, SocketFlags)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Bağlı bir yuvaya veri gönderir.
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)
Parametreler
- buffer
- ArraySegment<Byte>
Gönderilecek verilerin arabelleği.
- socketFlags
- SocketFlags
Verileri gönderirken kullanılacak SocketFlags değerlerinin bit düzeyinde birleşimi.
Döndürülenler
Gönderilen bayt sayısıyla tamamlanan zaman uyumsuz bir görev.
Özel durumlar
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Şunlara uygulanır
SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Bağlı bir yuvaya veri gönderir.
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)
Parametreler
- buffer
- ReadOnlyMemory<Byte>
Gönderilecek verilerin arabelleği.
- socketFlags
- SocketFlags
Verileri gönderirken kullanılacak SocketFlags değerlerinin bit düzeyinde birleşimi.
- cancellationToken
- CancellationToken
Zaman uyumsuz işlemi iptal etmek için kullanılabilecek bir iptal belirteci.
Döndürülenler
Gönderilen bayt sayısıyla tamamlanan zaman uyumsuz bir görev.
Özel durumlar
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
İptal belirteci iptal edildi. Bu özel durum, döndürülen görevde depolanır.
Şunlara uygulanır
SendAsync(IList<ArraySegment<Byte>>)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Bağlı bir yuvaya veri gönderir.
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)
Parametreler
- buffers
- IList<ArraySegment<Byte>>
Gönderilecek verilerin arabellek listesi.
Döndürülenler
Gönderilen bayt sayısıyla tamamlanan zaman uyumsuz bir görev.
Özel durumlar
buffers, null'e eşittir.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Açıklamalar
Bu yöntem, yöntemin zaman uyumlu karşılık geleninin oluşturabileceği tüm kullanım dışı özel durumları döndürdüğü görevde depolar. Döndürülen görevde bir özel durum depolanırsa, görev beklendiğinde bu özel durum oluşturulur. ArgumentExceptiongibi kullanım özel durumları hâlâ eşzamanlı olarak fırlatılır. Depolanan özel durumlar için tarafından Send(IList<ArraySegment<Byte>>)oluşan özel durumlara bakın.
Şunlara uygulanır
SendAsync(ArraySegment<Byte>)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Bağlı bir yuvaya veri gönderir.
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)
Parametreler
- buffer
- ArraySegment<Byte>
Gönderilecek verilerin arabelleği.
Döndürülenler
Gönderilen bayt sayısıyla tamamlanan zaman uyumsuz bir görev.
Özel durumlar
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Şunlara uygulanır
SendAsync(SocketAsyncEventArgs)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Verileri bağlı Socket bir nesneye zaman uyumsuz olarak gönderir.
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
Parametreler
SocketAsyncEventArgs Bu zaman uyumsuz yuva işlemi için kullanılacak nesne.
Döndürülenler
true G/Ç işlemi bekliyorsa.
Completed parametresindeki e olay, işlem tamamlandıktan sonra tetiklenir.
false G/Ç işlemi zaman uyumlu olarak tamamlandıysa. Bu durumda, Completed parametredeki e olay tetiklenmez ve e parametre olarak geçirilen nesne, yöntem çağrısı işlemin sonucunu almak için döndürdükten hemen sonra incelenebilir.
Özel durumlar
Buffer Parametredeki e veya BufferList özellikleri geçerli arabelleklere başvurmalıdır. Bu özelliklerden biri veya diğeri ayarlanabilir, ancak her ikisi de aynı anda ayarlanamaz.
Parametresinde e belirtilen nesne kullanılarak SocketAsyncEventArgs bir yuva işlemi zaten devam ediyor.
Kapatılmış Socket .
Socket henüz bağlı değil veya bir Accept(), AcceptAsync(SocketAsyncEventArgs)veya BeginAcceptyöntemi aracılığıyla alınamadı.
Açıklamalar
SendAsync yöntemi, bağlantı odaklı bir yuvadaki bir veya daha fazla arabellekten giden verileri yazmak için kullanılır. Ancak bu yöntem, bir bağlantı işleminde uzak bir ana bilgisayar belirtmiş olan bağlantısız yuvalarda da kullanılabilir.
SendAsync yöntemi, , , AcceptAsync, BeginAcceptBeginConnect, Connectveya ConnectAsync yönteminde Acceptoluşturulan uzak konağa zaman uyumsuz bir gönderme işlemi başlatır.
Bu yöntemi başarıyla çağırmak için nesnedeki System.Net.Sockets.SocketAsyncEventArgs aşağıdaki özellikler ve olaylar gereklidir:
SocketAsyncEventArgs.Buffer veya SocketAsyncEventArgs.BufferList
SocketAsyncEventArgs.Countayarlandıysa SocketAsyncEventArgs.Buffer
SocketAsyncEventArgs.Offsetayarlandıysa SocketAsyncEventArgs.Buffer
Çağıran, yöntemi çağırmadan SocketAsyncEventArgs.UserToken önce istenen herhangi bir kullanıcı durumu nesnesine özelliğini ayarlayabilirSendAsync, böylece bilgiler geri çağırma yönteminde alınabilir. Geri çağırma için tek bir nesneden daha fazla bilgi gerekiyorsa, gerekli diğer durum bilgilerini üye olarak tutmak için küçük bir sınıf oluşturulabilir.
yöntemiSendAsync, ilk olarak , , AcceptAsyncBeginConnectBeginAccept, Connectveya ConnectAsyncçağrısı Acceptyapmazsanız bir özel durum oluşturur.
yöntemini çağırmak SendAsync , ayrı bir yürütme iş parçacığı içinde veri gönderme olanağı sağlar.
İleti odaklı yuvalar için, temel alınan Windows yuva hizmeti sağlayıcısının ileti boyutu üst sınırını aşmayın. Veriler temel alınan hizmet sağlayıcısından atomik olarak geçemeyecek kadar uzunsa, hiçbir veri iletilmez ve SendAsync yöntemi yerel Winsock WSAEMSGSIZE hata koduna (10040) kümesiyle bir SocketExceptionSocketAsyncEventArgs.SocketError oluşturur.
Yöntemin başarıyla tamamlanmasının SendAsync verilerin başarıyla teslim edildiğine işaret etmediğini unutmayın.