Socket.ReceiveMessageFromAsync Metod

Definition

Överlagringar

Name Description
ReceiveMessageFromAsync(SocketAsyncEventArgs)

Börjar asynkront ta emot det angivna antalet byte data till den angivna platsen i databufferten med hjälp av angiven SocketFlagsoch lagrar slutpunkts- och paketinformationen.

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

Tar emot data och returnerar ytterligare information om meddelandets avsändare.

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Tar emot data och returnerar ytterligare information om meddelandets avsändare.

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Tar emot data och returnerar ytterligare information om meddelandets avsändare.

ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Tar emot data och returnerar ytterligare information om meddelandets avsändare.

ReceiveMessageFromAsync(SocketAsyncEventArgs)

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

Börjar asynkront ta emot det angivna antalet byte data till den angivna platsen i databufferten med hjälp av angiven SocketFlagsoch lagrar slutpunkts- och paketinformationen.

public:
 bool ReceiveMessageFromAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool ReceiveMessageFromAsync(System.Net.Sockets.SocketAsyncEventArgs e);
member this.ReceiveMessageFromAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function ReceiveMessageFromAsync (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

Får RemoteEndPoint inte vara null.

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

Kommentarer

Metoden ReceiveMessageFromAsync används främst för att ta emot meddelandedata på en anslutningslös socket. Socketens lokala adress måste vara känd. Den här metoden kan endast användas med datagram och rå socketar. Socketen måste initieras med sockettypen inställd på Dgram eller Raw innan den här metoden anropas. Detta kan göras när socketen är konstruerad med .Socket

Anroparen måste ange SocketAsyncEventArgs.RemoteEndPoint egenskapen till en EndPoint av samma typ som fjärrvärdens slutpunkt. Egenskapen uppdateras vid lyckad mottagning till den faktiska fjärrslutpunkten.

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 ReceiveMessageFromAsync , 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.

För meddelandeorienterade sockets placeras ett inkommande meddelande i bufferten upp till buffertens totala storlek. Egenskaperna SocketAsyncEventArgs.Count och SocketAsyncEventArgs.Offset avgör var i bufferten data placeras och mängden data.

Metoden ReceiveMessageFromAsync anger automatiskt socketalternativet PacketInformation till true första gången det anropas för en viss Socket. Objektet är dock IPPacketInformation endast giltigt för paket som kommer till den lokala datorn efter att socketalternativet har angetts. Om en socket skickas paket mellan när socketen är bunden till en lokal slutpunkt (explicit med Bind metoden eller implicit av någon av Connectmetoderna , ConnectAsync, SendToeller SendToAsync ) och det första anropet ReceiveMessageFromAsync till metoden, resulterar anrop till ReceiveMessageFromAsync metoden i ogiltiga IPPacketInformation objekt för dessa paket.

För att säkerställa att alla IPPacketInformation objekt är giltiga bör ett program ange socketalternativet PacketInformation tilltrue innan det är bundet till en lokal slutpunkt med hjälp av SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) metoden.

Ett program kan undersöka de resulterande IPPacketInformation objekten om det behöver veta om datagrammet skickades med en unicast-, multicast- eller broadcast-adress.

Se även

Gäller för

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

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

Tar emot data och returnerar ytterligare information om meddelandets avsändare.

public:
 System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveMessageFromResult> ^ ReceiveMessageFromAsync(ArraySegment<System::Byte> buffer, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(ArraySegment<byte> buffer, System.Net.EndPoint remoteEndPoint);
member this.ReceiveMessageFromAsync : ArraySegment<byte> * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As ArraySegment(Of Byte), remoteEndPoint As EndPoint) As Task(Of SocketReceiveMessageFromResult)

Parametrar

buffer
ArraySegment<Byte>

Bufferten för mottagna data.

remoteEndPoint
EndPoint

En slutpunkt av samma typ som fjärrvärdens slutpunkt.

Returer

En asynkron uppgift som slutförs med ett SocketReceiveMessageFromResult som innehåller antalet mottagna byte och ytterligare information om den sändande värden.

Undantag

Objektet Socket har stängts.

remoteEndPoint är null.

Du måste anropa bindningsmetoden innan du utför den här åtgärden.

Gäller för

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

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

Tar emot data och returnerar ytterligare information om meddelandets avsändare.

public:
 System::Threading::Tasks::Task<System::Net::Sockets::SocketReceiveMessageFromResult> ^ ReceiveMessageFromAsync(ArraySegment<System::Byte> buffer, System::Net::Sockets::SocketFlags socketFlags, System::Net::EndPoint ^ remoteEndPoint);
public System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(ArraySegment<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint);
member this.ReceiveMessageFromAsync : ArraySegment<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint -> System.Threading.Tasks.Task<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As ArraySegment(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint) As Task(Of SocketReceiveMessageFromResult)

Parametrar

buffer
ArraySegment<Byte>

Bufferten för mottagna data.

socketFlags
SocketFlags

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

remoteEndPoint
EndPoint

En slutpunkt av samma typ som fjärrvärdens slutpunkt.

Returer

En asynkron uppgift som slutförs med ett SocketReceiveMessageFromResult som innehåller antalet mottagna byte och ytterligare information om den sändande värden.

Undantag

Objektet Socket har stängts.

remoteEndPoint är null.

Du måste anropa bindningsmetoden innan du utför den här åtgärden.

Gäller för

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, 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

Tar emot data och returnerar ytterligare information om meddelandets avsändare.

public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(Memory<byte> buffer, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveMessageFromAsync : Memory<byte> * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As Memory(Of Byte), remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveMessageFromResult)

Parametrar

buffer
Memory<Byte>

Bufferten för mottagna data.

remoteEndPoint
EndPoint

En slutpunkt av samma typ som fjärrvärdens slutpunkt.

cancellationToken
CancellationToken

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

Returer

En asynkron uppgift som slutförs med ett SocketReceiveMessageFromResult som innehåller antalet mottagna byte och ytterligare information om den sändande värden.

Undantag

Objektet Socket har stängts.

remoteEndPoint är null.

Du måste anropa bindningsmetoden innan du utför den här åtgärden.

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

Gäller för

ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, 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

Tar emot data och returnerar ytterligare information om meddelandets avsändare.

public System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult> ReceiveMessageFromAsync(Memory<byte> buffer, System.Net.Sockets.SocketFlags socketFlags, System.Net.EndPoint remoteEndPoint, System.Threading.CancellationToken cancellationToken = default);
member this.ReceiveMessageFromAsync : Memory<byte> * System.Net.Sockets.SocketFlags * System.Net.EndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.SocketReceiveMessageFromResult>
Public Function ReceiveMessageFromAsync (buffer As Memory(Of Byte), socketFlags As SocketFlags, remoteEndPoint As EndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of SocketReceiveMessageFromResult)

Parametrar

buffer
Memory<Byte>

Bufferten för mottagna data.

socketFlags
SocketFlags

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

remoteEndPoint
EndPoint

En slutpunkt av samma typ som fjärrvärdens slutpunkt.

cancellationToken
CancellationToken

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

Returer

En asynkron uppgift som slutförs med ett SocketReceiveMessageFromResult som innehåller antalet mottagna byte och ytterligare information om den sändande värden.

Undantag

Objektet Socket har stängts.

remoteEndPoint är null.

Du måste anropa bindningsmetoden innan du utför den här åtgärden.

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

Gäller för