Socket.SendToAsync 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 |
|---|---|
| SendToAsync(SocketAsyncEventArgs) |
Verileri belirli bir uzak konağa zaman uyumsuz olarak gönderir. |
| SendToAsync(ArraySegment<Byte>, EndPoint) |
Belirtilen uzak konağa veri gönderir. |
| SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Belirtilen uzak konağa veri gönderir. |
| SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken) |
Belirtilen uzak konağa veri gönderir. |
| SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Belirtilen uzak konağa veri gönderir. |
| SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, SocketAddress, CancellationToken) |
Belirtilen SocketFlagskullanarak verileri belirli bir uç noktaya gönderir. |
SendToAsync(SocketAsyncEventArgs)
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
- Kaynak:
- Socket.cs
Verileri belirli bir uzak konağa zaman uyumsuz olarak gönderir.
public:
bool SendToAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool SendToAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.SendToAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function SendToAsync (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
RemoteEndPoint null olamaz.
Parametresinde e belirtilen nesne kullanılarak SocketAsyncEventArgs bir yuva işlemi zaten devam ediyor.
Kapatılmış Socket .
Belirtilen protokol bağlantı odaklı, ancak Socket henüz bağlı değil.
Açıklamalar
yöntemi, SendToAsync parametresinin özelliğinde SocketAsyncEventArgs.RemoteEndPointe belirtilen uzak konağa zaman uyumsuz gönderme işlemi başlatır. yöntemini çağırmak SendToAsync , ayrı bir yürütme iş parçacığı içinde veri gönderme olanağı sağlar. Bu yöntem bağlantısız protokoller için tasarlanmış olsa da, SendToAsync hem bağlantısız hem de bağlantı odaklı protokollerle çalışır.
Tamamlanma bildirimi almak için EventHandler<SocketAsyncEventArgs> temsilcisini uygulayan bir geri çağırma yöntemi oluşturmanız ve geri çağırmayı SocketAsyncEventArgs.Completed olaya eklemeniz gerekir.
Bu yöntemi başarıyla çağırmak için nesnedeki System.Net.Sockets.SocketAsyncEventArgs aşağıdaki özellikler ve olaylar gereklidir:
Çağıran, yöntemi çağırmadan SocketAsyncEventArgs.UserToken önce istenen herhangi bir kullanıcı durumu nesnesine özelliğini ayarlayabilirSendToAsync, 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.
Bağlantı odaklı bir protokol kullanıyorsanız, önce , , BeginAcceptAcceptAsync, BeginConnect, Connectveya ConnectAsync yöntemini çağırmanız Acceptgerekir. Aksi takdirde SendToAsync bir SocketExceptionoluşturur. Bağlantı odaklı bir protokol kullanılırken, SendToAsync yöntemi özelliğini yoksayar SocketAsyncEventArgs.RemoteEndPoint ve , AcceptAsync, , BeginConnectBeginAccept, Connectveya ConnectAsync yönteminde Acceptoluşturulan öğesine veri System.Net.EndPoint gönderir.
Bağlantısız bir protokol kullanıyorsanız, çağrısından SendToAsyncönce , Connectveya ConnectAsync yöntemiyle BeginConnectvarsayılan bir uzak konak oluşturmanız gerekmez. Bunu yalnızca veya SendAsync yöntemlerini çağırmak BeginSend istiyorsanız yapmanız gerekir. çağrısından önce , Connectveya ConnectAsync yöntemini çağırırsanız SocketAsyncEventArgs.RemoteEndPointBeginConnectSendToAsync, özellik yalnızca bu gönderme işlemi için belirtilen varsayılan uzak konağı geçersiz kılar. Yöntemini çağırmanız Bind da gerekmez. Bu durumda, temel alınan hizmet sağlayıcısı en uygun yerel ağ IP adresini ve bağlantı noktası numarasını atar. Temel alınan hizmet sağlayıcısının ücretsiz bir bağlantı noktası seçmesini istiyorsanız sıfır numaralı bağlantı noktası kullanın. Atanan yerel ağ IP adresini ve bağlantı noktası numarasını tanımlamanız gerekiyorsa, olay sinyallendikten ve ilişkili temsilciler çağrıldıktan sonra SocketAsyncEventArgs.Completed özelliğini kullanabilirsinizLocalEndPoint.
Bir yayın adresine veri göndermek istiyorsanız, önce yöntemini çağırmanız SetSocketOption ve yuva seçeneğini SocketOptionName.Broadcast true olarak ayarlamanız gerekir. Ayrıca, arabellek boyutunun temel alınan hizmet sağlayıcısının paket boyutu üst sınırını aşmadığından da emin olmanız gerekir. Bunu yaparsa, veri birimi gönderilmez ve SendToAsync bir SocketExceptionoluşturur.
Özelliğinde SocketAsyncEventArgs.SocketFlags DontRoute bayrağını belirtirseniz, gönderdiğiniz veriler yönlendirilmeyecektir.
İleti odaklı yuvalar için, temel alınan aktarımın ileti boyutu üst sınırını aşmamaya dikkat edilmelidir. Arabelleğin boyutu temel alınan hizmet sağlayıcısının en büyük paket boyutunu aşarsa, veri birimi gönderilmez ve SendToAsync bir SocketExceptionoluşturur. Bir SendToAsync yöntemin başarıyla tamamlanması, verilerin başarıyla teslim edildiği anlamına gelmez.
Ayrıca bkz.
Şunlara uygulanır
SendToAsync(ArraySegment<Byte>, EndPoint)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Belirtilen uzak konağa veri gönderir.
public:
System::Threading::Tasks::Task<int> ^ SendToAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEP);
public System.Threading.Tasks.Task<int> SendToAsync(ArraySegment<byte> buffer, System.Net.EndPoint remoteEP);
member this.SendToAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<int>
Public Function SendToAsync (buffer As ArraySegment(Of Byte), remoteEP As EndPoint) As Task(Of Integer)
Parametreler
- buffer
- ArraySegment<Byte>
Gönderilecek verilerin arabelleği.
- remoteEP
- EndPoint
Verilerin gönderildiği uzak konak.
Döndürülenler
Gönderilen bayt sayısıyla tamamlanan zaman uyumsuz bir görev.
Özel durumlar
remoteEP, null'e eşittir.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Şunlara uygulanır
SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Belirtilen uzak konağa veri gönderir.
public:
System::Threading::Tasks::Task<int> ^ SendToAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEP);
public System.Threading.Tasks.Task<int> SendToAsync(ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEP);
member this.SendToAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<int>
Public Function SendToAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEP As EndPoint) 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.
- remoteEP
- EndPoint
Verilerin gönderildiği uzak konak.
Döndürülenler
Gönderilen bayt sayısıyla tamamlanan zaman uyumsuz bir görev.
Özel durumlar
remoteEP, null'e eşittir.
Yuvaya erişmeye çalışılırken bir hata oluştu.
Kapatılmış Socket .
Şunlara uygulanır
SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Belirtilen uzak konağa veri gönderir.
public System.Threading.Tasks.ValueTask<int> SendToAsync(ReadOnlyMemory<byte> buffer, System.Net.EndPoint remoteEP, System.Threading.CancellationToken cancellationToken = default);
member this.SendToAsync : ReadOnlyMemory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendToAsync (buffer As ReadOnlyMemory(Of Byte), remoteEP As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Parametreler
- buffer
- ReadOnlyMemory<Byte>
Gönderilecek verilerin arabelleği.
- remoteEP
- EndPoint
Verilerin gönderildiği uzak konak.
- 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
remoteEP, null'e eşittir.
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
SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, EndPoint, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Belirtilen uzak konağa veri gönderir.
public System.Threading.Tasks.ValueTask<int> SendToAsync(ReadOnlyMemory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEP, System.Threading.CancellationToken cancellationToken = default);
member this.SendToAsync : ReadOnlyMemory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendToAsync (buffer As ReadOnlyMemory(Of Byte), socketFlags As SocketFlags, remoteEP As EndPoint, 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.
- remoteEP
- EndPoint
Verilerin gönderildiği uzak konak.
- 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
remoteEP, null'e eşittir.
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
SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, SocketAddress, CancellationToken)
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
- Kaynak:
- Socket.Tasks.cs
Belirtilen SocketFlagskullanarak verileri belirli bir uç noktaya gönderir.
public System.Threading.Tasks.ValueTask<int> SendToAsync(ReadOnlyMemory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.SocketAddress socketAddress, System.Threading.CancellationToken cancellationToken = default);
member this.SendToAsync : ReadOnlyMemory<byte> * System.Net.Sockets.SocketFlags * System.Net.SocketAddress * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendToAsync (buffer As ReadOnlyMemory(Of Byte), socketFlags As SocketFlags, socketAddress As SocketAddress, 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 değerlerin SocketFlags bit düzeyinde birleşimi.
- socketAddress
- SocketAddress
SocketAddress Verilerin hedefini temsil eden.
- 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
socketAddress, null'e eşittir.
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.