Socket.SendAsync Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ö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.
Har Socket stängts.
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.
Har Socket stängts.
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.
Har Socket stängts.
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.
Har Socket stängts.
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.
Har Socket stängts.
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
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 .
Har Socket stängts.
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:
SocketAsyncEventArgs.Buffer eller SocketAsyncEventArgs.BufferList
SocketAsyncEventArgs.Count om SocketAsyncEventArgs.Buffer har angetts
SocketAsyncEventArgs.Offset om SocketAsyncEventArgs.Buffer har angetts
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.