Socket.SendAsync Methode

Definitie

Overloads

Name Description
SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Hiermee worden gegevens verzonden op een verbonden socket.

SendAsync(IList<ArraySegment<Byte>>, SocketFlags)

Hiermee worden gegevens verzonden op een verbonden socket.

SendAsync(ArraySegment<Byte>, SocketFlags)

Hiermee worden gegevens verzonden op een verbonden socket.

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Hiermee worden gegevens verzonden op een verbonden socket.

SendAsync(IList<ArraySegment<Byte>>)

Hiermee worden gegevens verzonden op een verbonden socket.

SendAsync(ArraySegment<Byte>)

Hiermee worden gegevens verzonden op een verbonden socket.

SendAsync(SocketAsyncEventArgs)

Verzendt gegevens asynchroon naar een verbonden Socket object.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs

Hiermee worden gegevens verzonden op een verbonden socket.

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)

Parameters

buffer
ReadOnlyMemory<Byte>

De buffer voor de gegevens die moeten worden verzonden.

cancellationToken
CancellationToken

Een annuleringstoken dat kan worden gebruikt om de asynchrone bewerking te annuleren.

Retouren

Een asynchrone taak die is voltooid met het aantal verzonden bytes.

Uitzonderingen

Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.

Van toepassing op

SendAsync(IList<ArraySegment<Byte>>, SocketFlags)

Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs

Hiermee worden gegevens verzonden op een verbonden socket.

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)

Parameters

buffers
IList<ArraySegment<Byte>>

Een lijst met buffers voor de gegevens die moeten worden verzonden.

socketFlags
SocketFlags

Een bitsgewijze combinatie van SocketFlags-waarden die worden gebruikt bij het verzenden van de gegevens.

Retouren

Een asynchrone taak die is voltooid met het aantal verzonden bytes.

Uitzonderingen

buffers is null.

Er is een fout opgetreden bij het openen van de socket.

Opmerkingen

Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door Send(IList<ArraySegment<Byte>>, SocketFlags)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.

Van toepassing op

SendAsync(ArraySegment<Byte>, SocketFlags)

Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs

Hiermee worden gegevens verzonden op een verbonden socket.

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)

Parameters

buffer
ArraySegment<Byte>

De buffer voor de gegevens die moeten worden verzonden.

socketFlags
SocketFlags

Een bitsgewijze combinatie van SocketFlags-waarden die worden gebruikt bij het verzenden van de gegevens.

Retouren

Een asynchrone taak die is voltooid met het aantal verzonden bytes.

Uitzonderingen

Er is een fout opgetreden bij het openen van de socket.

Van toepassing op

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs

Hiermee worden gegevens verzonden op een verbonden socket.

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)

Parameters

buffer
ReadOnlyMemory<Byte>

De buffer voor de gegevens die moeten worden verzonden.

socketFlags
SocketFlags

Een bitsgewijze combinatie van SocketFlags-waarden die worden gebruikt bij het verzenden van de gegevens.

cancellationToken
CancellationToken

Een annuleringstoken dat kan worden gebruikt om de asynchrone bewerking te annuleren.

Retouren

Een asynchrone taak die is voltooid met het aantal verzonden bytes.

Uitzonderingen

Er is een fout opgetreden bij het openen van de socket.

Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.

Van toepassing op

SendAsync(IList<ArraySegment<Byte>>)

Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs

Hiermee worden gegevens verzonden op een verbonden socket.

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)

Parameters

buffers
IList<ArraySegment<Byte>>

Een lijst met buffers voor de gegevens die moeten worden verzonden.

Retouren

Een asynchrone taak die is voltooid met het aantal verzonden bytes.

Uitzonderingen

buffers is null.

Er is een fout opgetreden bij het openen van de socket.

Opmerkingen

Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door Send(IList<ArraySegment<Byte>>)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.

Van toepassing op

SendAsync(ArraySegment<Byte>)

Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs
Bron:
Socket.Tasks.cs

Hiermee worden gegevens verzonden op een verbonden socket.

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)

Parameters

buffer
ArraySegment<Byte>

De buffer voor de gegevens die moeten worden verzonden.

Retouren

Een asynchrone taak die is voltooid met het aantal verzonden bytes.

Uitzonderingen

Er is een fout opgetreden bij het openen van de socket.

Van toepassing op

SendAsync(SocketAsyncEventArgs)

Bron:
Socket.cs
Bron:
Socket.cs
Bron:
Socket.cs
Bron:
Socket.cs
Bron:
Socket.cs

Verzendt gegevens asynchroon naar een verbonden Socket object.

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

Parameters

e
SocketAsyncEventArgs

Het SocketAsyncEventArgs object dat moet worden gebruikt voor deze asynchrone socketbewerking.

Retouren

true als de I/O-bewerking in behandeling is. De Completed gebeurtenis voor de e parameter wordt gegenereerd na voltooiing van de bewerking.

false als de I/O-bewerking synchroon is voltooid. In dit geval wordt de Completed gebeurtenis voor de e parameter niet gegenereerd en kan het e object dat als parameter wordt doorgegeven, direct worden onderzocht nadat de methodeaanroep terugkeert om het resultaat van de bewerking op te halen.

Uitzonderingen

De Buffer of BufferList eigenschappen van de e parameter moeten verwijzen naar geldige buffers. Een of de andere van deze eigenschappen kan worden ingesteld, maar niet beide tegelijk.

Er is al een socketbewerking uitgevoerd met behulp van het SocketAsyncEventArgs object dat is opgegeven in de e parameter.

De Socket is nog niet verbonden of is niet verkregen via een Accept(), AcceptAsync(SocketAsyncEventArgs)of BeginAccept- methode.

Opmerkingen

De SendAsync methode wordt gebruikt voor het schrijven van uitgaande gegevens uit een of meer buffers op een verbindingsgeoriënteerde socket. Deze methode kan ook worden gebruikt voor verbindingsloze sockets die een externe host hebben opgegeven bij een verbindingsbewerking.

Met SendAsync de methode wordt een asynchrone verzendbewerking gestart naar de externe host die is ingesteld in de Acceptmethode , AcceptAsync, BeginAccept, BeginConnectof ConnectConnectAsync .

De volgende eigenschappen en gebeurtenissen op het System.Net.Sockets.SocketAsyncEventArgs object zijn vereist om deze methode aan te roepen:

De aanroeper kan de SocketAsyncEventArgs.UserToken eigenschap instellen op een gewenst gebruikersstatusobject voordat de SendAsync methode wordt aangeroepen, zodat de gegevens kunnen worden opgehaald in de callback-methode. Als de callback meer informatie nodig heeft dan één object, kan er een kleine klasse worden gemaakt om de andere vereiste statusgegevens als leden te bewaren.

De SendAsync methode genereert een uitzondering als u niet eerst aanroept Accept, , AcceptAsyncBeginAcceptBeginConnect, of .ConnectConnectAsync

Als u de SendAsync methode aanroept, kunt u gegevens verzenden binnen een afzonderlijke uitvoeringsthread.

Voor berichtgeoriënteerde sockets mag u de maximale berichtgrootte van de onderliggende Windows sockets-serviceprovider niet overschrijden. Als de gegevens te lang zijn om atomisch door te geven via de onderliggende serviceprovider, worden er geen gegevens verzonden en wordt met de SendAsync methode een SocketException met de SocketAsyncEventArgs.SocketError set naar de systeemeigen Winsock WSAEMSGSIZE-foutcode (10040) gegenereerd.

Houd er rekening mee dat de geslaagde voltooiing van de SendAsync methode niet aangeeft dat de gegevens zijn geleverd.

Zie ook

Van toepassing op