Socket.BeginReceive Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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.
Socket is gesloten.
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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling a Delegate as a Callback Method
- Voorbeeld van asynchrone clientsocket
- Voorbeeld van asynchrone serversocket
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
- 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.
Socket is gesloten.
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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling a Delegate as a Callback Method
- Voorbeeld van asynchrone clientsocket
- Voorbeeld van asynchrone serversocket
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.
Socket is gesloten.
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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling a Delegate as a Callback Method
- Voorbeeld van asynchrone clientsocket
- Voorbeeld van asynchrone serversocket
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.
Socket is gesloten.
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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshaling a Delegate as a Callback Method
- Voorbeeld van asynchrone clientsocket
- Voorbeeld van asynchrone serversocket