Socket.BeginReceive Methode

Definitie

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

Overloads

Name Description
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

buffer
Byte[]

Een matrix van het type Byte dat de opslaglocatie is voor de ontvangen gegevens.

offset
Int32

De locatie waarin buffer de ontvangen gegevens worden opgeslagen.

size
Int32

Het aantal te ontvangen bytes.

socketFlags
SocketFlags

Een bitsgewijze combinatie van de SocketFlags waarden.

errorCode
SocketError

Een SocketError object waarin de socketfout wordt opgeslagen.

callback
AsyncCallback

Een AsyncCallback gemachtigde die verwijst naar de methode die moet worden aangeroepen wanneer de bewerking is voltooid.

state
Object

Een door de gebruiker gedefinieerd object met informatie over de ontvangstbewerking. Dit object wordt doorgegeven aan de EndReceive(IAsyncResult) gemachtigde wanneer de bewerking is voltooid.

Retouren

Een IAsyncResult die verwijst naar de asynchrone leesbewerking.

Uitzonderingen

buffer is null.

alleen .NET Framework: er is een fout opgetreden bij het openen van de socket.

offset is kleiner dan 0.

– of –

offset is groter dan de lengte van buffer.

– of –

size is kleiner dan 0.

– of –

size is groter dan de lengte van buffer min de waarde van de offset parameter.

Opmerkingen

Important

Dit is een compatibiliteits-API. Het wordt afgeraden om de APM - (Begin* en End*) methoden voor nieuwe ontwikkeling te gebruiken. Gebruik in plaats daarvan de Taskequivalenten op basis van -.

U kunt een callback doorgeven waarnaar wordt geïmplementeerd AsyncCallbackBeginReceive om een melding te ontvangen over de voltooiing van de bewerking. Houd er rekening mee dat als de onderliggende netwerkstack de bewerking synchroon voltooit, de callback inline wordt uitgevoerd, tijdens de aanroep naar BeginReceive. In dit geval wordt de CompletedSynchronously eigenschap op de geretourneerde IAsyncResult waarde ingesteld om aan te true geven dat de methode synchroon is voltooid. Gebruik de AsyncState eigenschap van de IAsyncResult functie om het statusobject te verkrijgen dat is doorgegeven aan de BeginReceive methode.

De asynchrone BeginReceive bewerking moet worden voltooid door de EndReceive methode aan te roepen. Normaal gesproken wordt de methode aangeroepen door de AsyncCallback gemachtigde. EndReceive blokkeert de aanroepende thread totdat de bewerking is voltooid.

Sluit de Socket knop om een in behandeling zijnde BeginReceiveannulering te annuleren. Wanneer de Close methode wordt aangeroepen terwijl een asynchrone bewerking wordt uitgevoerd, wordt de callback aangeroepen die aan de BeginReceive methode wordt geleverd. Een volgende aanroep van de methode EndReceive genereert een ObjectDisposedException (vóór .NET 7) of een SocketException (op .NET 7+) om aan te geven dat de bewerking is geannuleerd.

Note

Als u een SocketExceptionontvangt, gebruikt u de SocketException.ErrorCode eigenschap om de specifieke foutcode te verkrijgen.

Note

Alle I/O die door een bepaalde thread wordt geïnitieerd, wordt geannuleerd wanneer deze thread wordt afgesloten. Een asynchrone bewerking in behandeling kan mislukken als de thread wordt afgesloten voordat de bewerking is voltooid.

Note

state is een instantiëring van een door de gebruiker gedefinieerde klasse.

Note

Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in .NET Framework voor meer informatie.

Note

De uitvoeringscontext (de beveiligingscontext, de geïmiteerde gebruiker en de aanroepende context) wordt in de cache opgeslagen voor de asynchrone Socket methoden. Na het eerste gebruik van een bepaalde context (een specifieke asynchrone Socket methode, een specifiek Socket exemplaar en een specifieke callback), zien volgende toepassingen van die context een prestatieverbetering.

Zie ook

Van toepassing op

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

buffer
Byte[]

Een matrix van het type Byte dat de opslaglocatie is voor de ontvangen gegevens.

offset
Int32

De positie op basis van nul in de buffer parameter waarop de ontvangen gegevens moeten worden opgeslagen.

size
Int32

Het aantal te ontvangen bytes.

socketFlags
SocketFlags

Een bitsgewijze combinatie van de SocketFlags waarden.

callback
AsyncCallback

Een AsyncCallback gemachtigde die verwijst naar de methode die moet worden aangeroepen wanneer de bewerking is voltooid.

state
Object

Een door de gebruiker gedefinieerd object met informatie over de ontvangstbewerking. Dit object wordt doorgegeven aan de EndReceive(IAsyncResult) gemachtigde wanneer de bewerking is voltooid.

Retouren

Een IAsyncResult die verwijst naar de asynchrone leesbewerking.

Uitzonderingen

buffer is null.

alleen .NET Framework: er is een fout opgetreden bij het openen van de socket.

offset is kleiner dan 0.

– of –

offset is groter dan de lengte van buffer.

– of –

size is kleiner dan 0.

– of –

size is groter dan de lengte van buffer min de waarde van de offset parameter.

Opmerkingen

Important

Dit is een compatibiliteits-API. Het wordt afgeraden om de APM - (Begin* en End*) methoden voor nieuwe ontwikkeling te gebruiken. Gebruik in plaats daarvan de Taskequivalenten op basis van -.

U kunt een callback doorgeven waarnaar wordt geïmplementeerd AsyncCallbackBeginReceive om een melding te ontvangen over de voltooiing van de bewerking. Houd er rekening mee dat als de onderliggende netwerkstack de bewerking synchroon voltooit, de callback inline wordt uitgevoerd, tijdens de aanroep naar BeginReceive. In dit geval wordt de CompletedSynchronously eigenschap op de geretourneerde IAsyncResult waarde ingesteld om aan te true geven dat de methode synchroon is voltooid. Gebruik de AsyncState eigenschap van de IAsyncResult functie om het statusobject te verkrijgen dat is doorgegeven aan de BeginReceive methode.

De asynchrone BeginReceive bewerking moet worden voltooid door de EndReceive methode aan te roepen. Normaal gesproken wordt de methode aangeroepen door de AsyncCallback gemachtigde. EndReceive blokkeert de aanroepende thread totdat de bewerking is voltooid.

Sluit de Socket knop om een in behandeling zijnde BeginReceiveannulering te annuleren. Wanneer de Close methode wordt aangeroepen terwijl een asynchrone bewerking wordt uitgevoerd, wordt de callback aangeroepen die aan de BeginReceive methode wordt geleverd. Een volgende aanroep van de methode EndReceive genereert een ObjectDisposedException (vóór .NET 7) of een SocketException (op .NET 7+) om aan te geven dat de bewerking is geannuleerd.

Note

Als u een SocketExceptionontvangt, gebruikt u de SocketException.ErrorCode eigenschap om de specifieke foutcode te verkrijgen.

Note

Alle I/O die door een bepaalde thread wordt geïnitieerd, wordt geannuleerd wanneer deze thread wordt afgesloten. Een asynchrone bewerking in behandeling kan mislukken als de thread wordt afgesloten voordat de bewerking is voltooid.

Note

state is een instantiëring van een door de gebruiker gedefinieerde klasse.

Note

Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in .NET Framework voor meer informatie.

Note

De uitvoeringscontext (de beveiligingscontext, de geïmiteerde gebruiker en de aanroepende context) wordt in de cache opgeslagen voor de asynchrone Socket methoden. Na het eerste gebruik van een bepaalde context (een specifieke asynchrone Socket methode, een specifiek Socket exemplaar en een specifieke callback), zien volgende toepassingen van die context een prestatieverbetering.

Zie ook

Van toepassing op

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

buffers
IList<ArraySegment<Byte>>

Een matrix van het type Byte dat de opslaglocatie is voor de ontvangen gegevens.

socketFlags
SocketFlags

Een bitsgewijze combinatie van de SocketFlags waarden.

errorCode
SocketError

Een SocketError object waarin de socketfout wordt opgeslagen.

callback
AsyncCallback

Een AsyncCallback gemachtigde die verwijst naar de methode die moet worden aangeroepen wanneer de bewerking is voltooid.

state
Object

Een door de gebruiker gedefinieerd object met informatie over de ontvangstbewerking. Dit object wordt doorgegeven aan de EndReceive(IAsyncResult) gemachtigde wanneer de bewerking is voltooid.

Retouren

Een IAsyncResult die verwijst naar de asynchrone leesbewerking.

Uitzonderingen

buffers is null.

alleen .NET Framework: er is een fout opgetreden bij het openen van de socket.

Opmerkingen

Important

Dit is een compatibiliteits-API. Het wordt afgeraden om de APM - (Begin* en End*) methoden voor nieuwe ontwikkeling te gebruiken. Gebruik in plaats daarvan de Taskequivalenten op basis van -.

U kunt een callback doorgeven waarnaar wordt geïmplementeerd AsyncCallbackBeginReceive om een melding te ontvangen over de voltooiing van de bewerking. Houd er rekening mee dat als de onderliggende netwerkstack de bewerking synchroon voltooit, de callback inline wordt uitgevoerd, tijdens de aanroep naar BeginReceive. In dit geval wordt de CompletedSynchronously eigenschap op de geretourneerde IAsyncResult waarde ingesteld om aan te true geven dat de methode synchroon is voltooid. Gebruik de AsyncState eigenschap van de IAsyncResult functie om het statusobject te verkrijgen dat is doorgegeven aan de BeginReceive methode.

De asynchrone BeginReceive bewerking moet worden voltooid door de EndReceive methode aan te roepen. Normaal gesproken wordt de methode aangeroepen door de AsyncCallback gemachtigde. EndReceive blokkeert de aanroepende thread totdat de bewerking is voltooid.

Sluit de Socket knop om een in behandeling zijnde BeginReceiveannulering te annuleren. Wanneer de Close methode wordt aangeroepen terwijl een asynchrone bewerking wordt uitgevoerd, wordt de callback aangeroepen die aan de BeginReceive methode wordt geleverd. Een volgende aanroep van de methode EndReceive genereert een ObjectDisposedException (vóór .NET 7) of een SocketException (op .NET 7+) om aan te geven dat de bewerking is geannuleerd.

Note

Als u een SocketExceptionontvangt, gebruikt u de SocketException.ErrorCode eigenschap om de specifieke foutcode te verkrijgen.

Note

Alle I/O die door een bepaalde thread wordt geïnitieerd, wordt geannuleerd wanneer deze thread wordt afgesloten. Een asynchrone bewerking in behandeling kan mislukken als de thread wordt afgesloten voordat de bewerking is voltooid.

Note

state is een instantiëring van een door de gebruiker gedefinieerde klasse.

Note

Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in .NET Framework voor meer informatie.

Note

De uitvoeringscontext (de beveiligingscontext, de geïmiteerde gebruiker en de aanroepende context) wordt in de cache opgeslagen voor de asynchrone Socket methoden. Na het eerste gebruik van een bepaalde context (een specifieke asynchrone Socket methode, een specifiek Socket exemplaar en een specifieke callback), zien volgende toepassingen van die context een prestatieverbetering.

Zie ook

Van toepassing op

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Begint asynchroon gegevens te ontvangen van een verbonden Socket.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

buffers
IList<ArraySegment<Byte>>

Een matrix van het type Byte dat de opslaglocatie is voor de ontvangen gegevens.

socketFlags
SocketFlags

Een bitsgewijze combinatie van de SocketFlags waarden.

callback
AsyncCallback

Een AsyncCallback gemachtigde die verwijst naar de methode die moet worden aangeroepen wanneer de bewerking is voltooid.

state
Object

Een door de gebruiker gedefinieerd object met informatie over de ontvangstbewerking. Dit object wordt doorgegeven aan de EndReceive(IAsyncResult) gemachtigde wanneer de bewerking is voltooid.

Retouren

Een IAsyncResult die verwijst naar de asynchrone leesbewerking.

Uitzonderingen

buffers is null.

alleen .NET Framework: er is een fout opgetreden bij het openen van de socket.

Opmerkingen

Important

Dit is een compatibiliteits-API. Het wordt afgeraden om de APM - (Begin* en End*) methoden voor nieuwe ontwikkeling te gebruiken. Gebruik in plaats daarvan de Taskequivalenten op basis van -.

U kunt een callback doorgeven waarnaar wordt geïmplementeerd AsyncCallbackBeginReceive om een melding te ontvangen over de voltooiing van de bewerking. Houd er rekening mee dat als de onderliggende netwerkstack de bewerking synchroon voltooit, de callback inline wordt uitgevoerd, tijdens de aanroep naar BeginReceive. In dit geval wordt de CompletedSynchronously eigenschap op de geretourneerde IAsyncResult waarde ingesteld om aan te true geven dat de methode synchroon is voltooid. Gebruik de AsyncState eigenschap van de IAsyncResult functie om het statusobject te verkrijgen dat is doorgegeven aan de BeginReceive methode.

De asynchrone BeginReceive bewerking moet worden voltooid door de EndReceive methode aan te roepen. Normaal gesproken wordt de methode aangeroepen door de AsyncCallback gemachtigde. EndReceive blokkeert de aanroepende thread totdat de bewerking is voltooid.

Sluit de Socket knop om een in behandeling zijnde BeginReceiveannulering te annuleren. Wanneer de Close methode wordt aangeroepen terwijl een asynchrone bewerking wordt uitgevoerd, wordt de callback aangeroepen die aan de BeginReceive methode wordt geleverd. Een volgende aanroep van de methode EndReceive genereert een ObjectDisposedException (vóór .NET 7) of een SocketException (op .NET 7+) om aan te geven dat de bewerking is geannuleerd.

Note

Als u een SocketExceptionontvangt, gebruikt u de SocketException.ErrorCode eigenschap om de specifieke foutcode te verkrijgen.

Note

Alle I/O die door een bepaalde thread wordt geïnitieerd, wordt geannuleerd wanneer deze thread wordt afgesloten. Een asynchrone bewerking in behandeling kan mislukken als de thread wordt afgesloten voordat de bewerking is voltooid.

Note

state is een instantiëring van een door de gebruiker gedefinieerde klasse.

Note

Dit lid voert traceringsgegevens uit wanneer u netwerktracering inschakelt in uw toepassing. Zie Network Tracing in .NET Framework voor meer informatie.

Note

De uitvoeringscontext (de beveiligingscontext, de geïmiteerde gebruiker en de aanroepende context) wordt in de cache opgeslagen voor de asynchrone Socket methoden. Na het eerste gebruik van een bepaalde context (een specifieke asynchrone Socket methode, een specifiek Socket exemplaar en een specifieke callback), zien volgende toepassingen van die context een prestatieverbetering.

Zie ook

Van toepassing op