Socket.SendAsync Metod

Definition

Överlagringar

Name Description
SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Skickar data på en ansluten socket.

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

Skickar data på en ansluten socket.

SendAsync(ArraySegment<Byte>, SocketFlags)

Skickar data på en ansluten socket.

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Skickar data på en ansluten socket.

SendAsync(IList<ArraySegment<Byte>>)

Skickar data på en ansluten socket.

SendAsync(ArraySegment<Byte>)

Skickar data på en ansluten socket.

SendAsync(SocketAsyncEventArgs)

Skickar data asynkront till ett anslutet Socket objekt.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs

Skickar data på en ansluten 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)

Parametrar

buffer
ReadOnlyMemory<Byte>

Bufferten för data som ska skickas.

cancellationToken
CancellationToken

En annulleringstoken som kan användas för att avbryta den asynkrona åtgärden.

Returer

En asynkron uppgift som slutförs med antalet skickade byte.

Undantag

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Gäller för

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

Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs

Skickar data på en ansluten 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)

Parametrar

buffers
IList<ArraySegment<Byte>>

En lista över buffertar som data ska skickas till.

socketFlags
SocketFlags

En bitvis kombination av SocketFlags-värden som ska användas när data skickas.

Returer

En asynkron uppgift som slutförs med antalet skickade byte.

Undantag

buffers är null.

Ett fel uppstod vid försök att komma åt socketen.

Kommentarer

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Send(IList<ArraySegment<Byte>>, SocketFlags).

Gäller för

SendAsync(ArraySegment<Byte>, SocketFlags)

Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs

Skickar data på en ansluten 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)

Parametrar

buffer
ArraySegment<Byte>

Bufferten för data som ska skickas.

socketFlags
SocketFlags

En bitvis kombination av SocketFlags-värden som ska användas när data skickas.

Returer

En asynkron uppgift som slutförs med antalet skickade byte.

Undantag

Ett fel uppstod vid försök att komma åt socketen.

Gäller för

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs

Skickar data på en ansluten 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)

Parametrar

buffer
ReadOnlyMemory<Byte>

Bufferten för data som ska skickas.

socketFlags
SocketFlags

En bitvis kombination av SocketFlags-värden som ska användas när data skickas.

cancellationToken
CancellationToken

En annulleringstoken som kan användas för att avbryta den asynkrona åtgärden.

Returer

En asynkron uppgift som slutförs med antalet skickade byte.

Undantag

Ett fel uppstod vid försök att komma åt socketen.

Annulleringstoken avbröts. Det här undantaget lagras i den returnerade aktiviteten.

Gäller för

SendAsync(IList<ArraySegment<Byte>>)

Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs

Skickar data på en ansluten 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)

Parametrar

buffers
IList<ArraySegment<Byte>>

En lista över buffertar som data ska skickas till.

Returer

En asynkron uppgift som slutförs med antalet skickade byte.

Undantag

buffers är null.

Ett fel uppstod vid försök att komma åt socketen.

Kommentarer

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Send(IList<ArraySegment<Byte>>).

Gäller för

SendAsync(ArraySegment<Byte>)

Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs
Källa:
Socket.Tasks.cs

Skickar data på en ansluten 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)

Parametrar

buffer
ArraySegment<Byte>

Bufferten för data som ska skickas.

Returer

En asynkron uppgift som slutförs med antalet skickade byte.

Undantag

Ett fel uppstod vid försök att komma åt socketen.

Gäller för

SendAsync(SocketAsyncEventArgs)

Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs
Källa:
Socket.cs

Skickar data asynkront till ett anslutet Socket objekt.

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

Parametrar

e
SocketAsyncEventArgs

Objektet SocketAsyncEventArgs som ska användas för den här asynkrona socketåtgärden.

Returer

true om I/O-åtgärden väntar. Händelsen Completed på parametern e utlöses när åtgärden har slutförts.

false om I/O-åtgärden slutfördes synkront. I det här fallet Completed utlöses inte händelsen för parametern e och objektet e som skickas som en parameter kan undersökas omedelbart efter att metodanropet returneras för att hämta resultatet av åtgärden.

Undantag

Egenskaperna Buffer eller BufferList på parametern e måste referera till giltiga buffertar. Den ena eller den andra av dessa egenskaper kan anges, men inte båda samtidigt.

En socketåtgärd pågick redan med hjälp av objektet SocketAsyncEventArgs som anges i parametern e .

Socket är ännu inte ansluten eller har inte hämtats via en Accept(), AcceptAsync(SocketAsyncEventArgs)eller BeginAccept, -metod.

Kommentarer

Metoden SendAsync används för att skriva utgående data från en eller flera buffertar på en anslutningsorienterad socket. Den här metoden kan dock också användas på anslutningslösa socketar som har angett en fjärrvärd för en anslutningsåtgärd.

Metoden SendAsync startar en asynkron sändningsåtgärd till fjärrvärden som upprättas i Acceptmetoden , AcceptAsync, BeginAccept, BeginConnect, Connecteller ConnectAsync .

Följande egenskaper och händelser i System.Net.Sockets.SocketAsyncEventArgs objektet krävs för att anropa den här metoden:

Anroparen kan ange SocketAsyncEventArgs.UserToken egenskapen till valfritt användartillståndsobjekt som önskas innan metoden anropas SendAsync , så att informationen kan hämtas i motringningsmetoden. Om återanropet behöver mer information än ett enskilt objekt kan en liten klass skapas för att lagra den andra nödvändiga tillståndsinformationen som medlemmar.

Metoden SendAsync utlöser ett undantag om du inte först anropar Accept, AcceptAsync, BeginAcceptBeginConnect, Connecteller ConnectAsync.

SendAsync Genom att anropa metoden kan du skicka data i en separat körningstråd.

För meddelandeorienterade socketar ska du inte överskrida den maximala meddelandestorleken för den underliggande Windows sockets-tjänstprovidern. Om data är för långa för att kunna skickas atomiskt via den underliggande tjänstprovidern överförs inga data och SendAsync metoden genererar en SocketException med SocketAsyncEventArgs.SocketError den inbyggda Winsock WSAEMSGSIZE-felkoden (10040).

Observera att den lyckade slutförandet av SendAsync metoden inte anger att data har levererats.

Se även

Gäller för