Socket.BeginAccept Methode

Definitie

Hiermee wordt een asynchrone bewerking gestart om een binnenkomende verbindingspoging te accepteren.

Overloads

Name Description
BeginAccept(Socket, Int32, AsyncCallback, Object)

Hiermee wordt een asynchrone bewerking gestart om een binnenkomende verbindingspoging van een opgegeven socket te accepteren en het eerste blok gegevens te ontvangen dat door de clienttoepassing wordt verzonden.

BeginAccept(AsyncCallback, Object)

Hiermee wordt een asynchrone bewerking gestart om een binnenkomende verbindingspoging te accepteren.

BeginAccept(Int32, AsyncCallback, Object)

Hiermee wordt een asynchrone bewerking gestart om een binnenkomende verbindingspoging te accepteren en het eerste gegevensblok te ontvangen dat door de clienttoepassing wordt verzonden.

BeginAccept(Socket, Int32, AsyncCallback, Object)

Hiermee wordt een asynchrone bewerking gestart om een binnenkomende verbindingspoging van een opgegeven socket te accepteren en het eerste blok gegevens te ontvangen dat door de clienttoepassing wordt verzonden.

public:
 IAsyncResult ^ BeginAccept(System::Net::Sockets::Socket ^ acceptSocket, int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept(System.Net.Sockets.Socket acceptSocket, int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : System.Net.Sockets.Socket * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (acceptSocket As Socket, receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

acceptSocket
Socket

Het geaccepteerde Socket object. Deze waarde kan zijn null.

receiveSize
Int32

Het maximum aantal bytes dat moet worden ontvangen.

callback
AsyncCallback

De AsyncCallback gedelegeerde.

state
Object

Een object met statusinformatie voor deze aanvraag.

Retouren

Een IAsyncResult object dat verwijst naar het asynchrone Socket object maken.

Uitzonderingen

Het Socket object is gesloten.

De accepterende socket luistert niet naar verbindingen. U moet bellen Bind(EndPoint) en Listen(Int32) voordat u belt BeginAccept(AsyncCallback, Object).

– of –

De geaccepteerde socket is gebonden.

receiveSize is kleiner dan 0.

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

Verbindingsgeoriënteerde protocollen kunnen de BeginAccept methode gebruiken om binnenkomende verbindingspogingen te accepteren. De resulterende acceptbewerking wordt vertegenwoordigd door de geretourneerde IAsyncResult bewerking, ook al kan deze synchroon worden voltooid. Voordat u de BeginAccept methode aanroept, moet u de Listen methode aanroepen om te luisteren naar binnenkomende verbindingsaanvragen en deze in de wachtrij te plaatsen.

U kunt een callback doorgeven waarnaar wordt geïmplementeerd AsyncCallbackBeginAccept om een melding te ontvangen over de voltooiing van de acceptatiebewerking. Als de onderliggende netwerkstack de bewerking synchroon voltooit, kan de callback inline worden uitgevoerd, tijdens de aanroep naar BeginAccept. 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 BeginAccept methode.

De BeginAccept bewerking moet worden voltooid door de EndAccept methode aan te roepen. Normaal gesproken wordt de methode aangeroepen door de opgegeven AsyncCallback gemachtigde. EndAccept blokkeert de aanroepende thread totdat de bewerking is voltooid.

Als u een aanroep in behandeling naar de BeginAccept methode wilt annuleren, sluit u de Socket. Wanneer de Close methode wordt aangeroepen terwijl een asynchrone bewerking wordt uitgevoerd, wordt de callback aangeroepen die aan de BeginAccept methode wordt geleverd. Een volgende aanroep van de methode EndAccept genereert een ObjectDisposedException (vóór .NET 7) of een SocketException (op .NET 7+) om aan te geven dat de bewerking is geannuleerd.

Note

U kunt de RemoteEndPoint eigenschap van de geretourneerde Socket gebruiken om het netwerkadres en poortnummer van de externe host te identificeren.

Note

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

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

BeginAccept(AsyncCallback, Object)

Hiermee wordt een asynchrone bewerking gestart om een binnenkomende verbindingspoging te accepteren.

public:
 IAsyncResult ^ BeginAccept(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept(AsyncCallback callback, object state);
member this.BeginAccept : AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

callback
AsyncCallback

De AsyncCallback gedelegeerde.

state
Object

Een object met statusinformatie voor deze aanvraag.

Retouren

Een IAsyncResult die verwijst naar de asynchrone Socket creatie.

Uitzonderingen

Het Socket object is gesloten.

De accepterende socket luistert niet naar verbindingen. U moet bellen Bind(EndPoint) en Listen(Int32) voordat u belt BeginAccept(AsyncCallback, Object).

– of –

De geaccepteerde socket is gebonden.

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

Verbindingsgeoriënteerde protocollen kunnen de BeginAccept methode gebruiken om binnenkomende verbindingspogingen te accepteren. Voordat u de BeginAccept methode aanroept, moet u de Listen methode aanroepen om te luisteren naar binnenkomende verbindingsaanvragen en deze in de wachtrij te plaatsen.

U kunt een callback doorgeven waarnaar wordt geïmplementeerd AsyncCallbackBeginAccept om een melding te ontvangen over de voltooiing van de acceptatiebewerking. Als de onderliggende netwerkstack de bewerking synchroon voltooit, kan de callback inline worden uitgevoerd, tijdens de aanroep naar BeginAccept. 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 BeginAccept methode.

De BeginAccept bewerking moet worden voltooid door de EndAccept methode aan te roepen. Normaal gesproken wordt de methode aangeroepen door de opgegeven AsyncCallback gemachtigde. EndAccept blokkeert de aanroepende thread totdat de bewerking is voltooid.

Als u een aanroep in behandeling naar de BeginAccept methode wilt annuleren, sluit u de Socket. Wanneer de Close methode wordt aangeroepen terwijl een asynchrone bewerking wordt uitgevoerd, wordt de callback aangeroepen die aan de BeginAccept methode wordt geleverd. Een volgende aanroep van de methode EndAccept genereert een ObjectDisposedException (vóór .NET 7) of een SocketException (op .NET 7+) om aan te geven dat de bewerking is geannuleerd.

Note

U kunt de RemoteEndPoint eigenschap van de geretourneerde Socket gebruiken om het netwerkadres en poortnummer van de externe host te identificeren.

Note

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

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

BeginAccept(Int32, AsyncCallback, Object)

Hiermee wordt een asynchrone bewerking gestart om een binnenkomende verbindingspoging te accepteren en het eerste gegevensblok te ontvangen dat door de clienttoepassing wordt verzonden.

public:
 IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept(int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult

Parameters

receiveSize
Int32

Het aantal bytes dat moet worden geaccepteerd van de afzender.

callback
AsyncCallback

De AsyncCallback gedelegeerde.

state
Object

Een object met statusinformatie voor deze aanvraag.

Retouren

Een IAsyncResult die verwijst naar de asynchrone Socket creatie.

Uitzonderingen

Het Socket object is gesloten.

De accepterende socket luistert niet naar verbindingen. U moet bellen Bind(EndPoint) en Listen(Int32) voordat u belt BeginAccept(AsyncCallback, Object).

– of –

De geaccepteerde socket is gebonden.

receiveSize is kleiner dan 0.

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

Verbindingsgeoriënteerde protocollen kunnen de BeginAccept methode gebruiken om binnenkomende verbindingspogingen te accepteren. Voordat u de BeginAccept methode aanroept, moet u de Listen methode aanroepen om te luisteren naar binnenkomende verbindingsaanvragen en deze in de wachtrij te plaatsen.

U kunt een callback doorgeven waarnaar wordt geïmplementeerd AsyncCallbackBeginAccept om een melding te ontvangen over de voltooiing van de acceptatiebewerking. Als de onderliggende netwerkstack de bewerking synchroon voltooit, kan de callback inline worden uitgevoerd, tijdens de aanroep naar BeginAccept. 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 BeginAccept methode.

De BeginAccept bewerking moet worden voltooid door de EndAccept methode aan te roepen. Normaal gesproken wordt de methode aangeroepen door de opgegeven AsyncCallback gemachtigde. EndAccept blokkeert de aanroepende thread totdat de bewerking is voltooid.

Als u een aanroep in behandeling naar de BeginAccept methode wilt annuleren, sluit u de Socket. Wanneer de Close methode wordt aangeroepen terwijl een asynchrone bewerking wordt uitgevoerd, wordt de callback aangeroepen die aan de BeginAccept methode wordt geleverd. Een volgende aanroep van de methode EndAccept genereert een ObjectDisposedException (vóór .NET 7) of een SocketException (op .NET 7+) om aan te geven dat de bewerking is geannuleerd.

Note

U kunt de RemoteEndPoint eigenschap van de geretourneerde Socket gebruiken om het netwerkadres en poortnummer van de externe host te identificeren.

Note

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

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