Socket.BeginAccept Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen.
Überlädt
BeginAccept(AsyncCallback, Object) |
Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen. |
BeginAccept(Int32, AsyncCallback, Object) |
Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen, und empfängt den ersten von der Clientanwendung gesendeten Datenblock. |
BeginAccept(Socket, Int32, AsyncCallback, Object) |
Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung von einem angegebenen Socket anzunehmen, und empfängt den ersten von der Clientanwendung gesendeten Datenblock. |
BeginAccept(AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen.
public:
IAsyncResult ^ BeginAccept(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (AsyncCallback? callback, 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
Parameter
- callback
- AsyncCallback
Der AsyncCallback -Delegat.
- state
- Object
Ein Objekt mit Zustandsinformationen für diese Anforderung.
Gibt zurück
Ein IAsyncResult, das auf die asynchrone Socket-Erstellung verweist.
Ausnahmen
Das Socket-Objekt wurde geschlossen.
Der annehmende Socket überwacht keine Verbindungen. Vor dem Aufruf von Bind(EndPoint) müssen Sie Listen(Int32) und BeginAccept(AsyncCallback, Object) aufrufen.
- oder -
Der angenommene Socket ist gebunden.
receiveSize
ist kleiner als 0.
.NET Framework und .NET 5 und früher: Fehler beim Zugriff auf den Socket.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für die Neuentwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
Verbindungsorientierte Protokolle können die BeginAccept -Methode verwenden, um eingehende Verbindungsversuche zu akzeptieren. Bevor Sie die BeginAccept -Methode aufrufen, müssen Sie die Listen -Methode aufrufen, um eingehende Verbindungsanforderungen zu überwachen und in die Warteschlange zu stellen.
Sie können einen Rückruf übergeben, der implementiert, BeginAccept um über den Abschluss des Annahmevorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginAcceptvon inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously -Eigenschaft für den zurückgegebenen IAsyncResult auf true
festgelegt, um anzugeben, dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState -Eigenschaft von IAsyncResult , um das an die -Methode übergebene Zustandsobjekt BeginAccept abzurufen.
Der BeginAccept Vorgang muss durch Aufrufen der EndAccept -Methode abgeschlossen werden. In der Regel wird die -Methode vom bereitgestellten AsyncCallback Delegaten aufgerufen. EndAccept blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Um einen ausstehenden Aufruf der BeginAccept -Methode abzubrechen, schließen Sie .Socket Wenn die Close -Methode aufgerufen wird, während ein asynchroner Vorgang ausgeführt wird, wird der für die BeginAccept -Methode bereitgestellte Rückruf aufgerufen. Ein nachfolgender Aufruf der EndAccept -Methode löst eine ObjectDisposedException (vor .NET 7) oder eine (unter .NET 7 und höher) aus SocketException , um anzugeben, dass der Vorgang abgebrochen wurde.
Hinweis
Sie können die RemoteEndPoint -Eigenschaft des zurückgegebenen Socket verwenden, um die Netzwerkadresse und Portnummer des Remotehosts zu identifizieren.
Hinweis
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Hinweis
Der Ausführungskontext (der Sicherheitskontext, der identitätswechselte Benutzer und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket instance und einem bestimmten Rückruf) wird bei nachfolgenden Verwendungen dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel
Gilt für:
BeginAccept(Int32, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen, und empfängt den ersten von der Clientanwendung gesendeten Datenblock.
public:
IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept (int receiveSize, AsyncCallback? callback, 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
Parameter
- receiveSize
- Int32
Die Anzahl der Bytes vom Absender, die angenommen werden sollen.
- callback
- AsyncCallback
Der AsyncCallback-Delegat.
- state
- Object
Ein Objekt mit Zustandsinformationen für diese Anforderung.
Gibt zurück
Ein IAsyncResult, das auf die asynchrone Socket-Erstellung verweist.
Ausnahmen
Das Socket-Objekt wurde geschlossen.
Der annehmende Socket überwacht keine Verbindungen. Vor dem Aufruf von Bind(EndPoint) müssen Sie Listen(Int32) und BeginAccept(AsyncCallback, Object) aufrufen.
- oder -
Der angenommene Socket ist gebunden.
receiveSize
ist kleiner als 0.
.NET Framework und .NET 5 und früher: Fehler beim Zugriff auf den Socket.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für die Neuentwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
Verbindungsorientierte Protokolle können die BeginAccept -Methode verwenden, um eingehende Verbindungsversuche zu akzeptieren. Bevor Sie die BeginAccept -Methode aufrufen, müssen Sie die Listen -Methode aufrufen, um eingehende Verbindungsanforderungen zu überwachen und in die Warteschlange zu stellen.
Sie können einen Rückruf übergeben, der implementiert, BeginAccept um über den Abschluss des Annahmevorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginAcceptvon inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously -Eigenschaft für den zurückgegebenen IAsyncResult auf true
festgelegt, um anzugeben, dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState -Eigenschaft von IAsyncResult , um das an die -Methode übergebene Zustandsobjekt BeginAccept abzurufen.
Der BeginAccept Vorgang muss durch Aufrufen der EndAccept -Methode abgeschlossen werden. In der Regel wird die -Methode vom bereitgestellten AsyncCallback Delegaten aufgerufen. EndAccept blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Um einen ausstehenden Aufruf der BeginAccept -Methode abzubrechen, schließen Sie .Socket Wenn die Close -Methode aufgerufen wird, während ein asynchroner Vorgang ausgeführt wird, wird der für die BeginAccept -Methode bereitgestellte Rückruf aufgerufen. Ein nachfolgender Aufruf der EndAccept -Methode löst eine ObjectDisposedException (vor .NET 7) oder eine (unter .NET 7 und höher) aus SocketException , um anzugeben, dass der Vorgang abgebrochen wurde.
Hinweis
Sie können die RemoteEndPoint -Eigenschaft des zurückgegebenen Socket verwenden, um die Netzwerkadresse und Portnummer des Remotehosts zu identifizieren.
Hinweis
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Hinweis
Der Ausführungskontext (der Sicherheitskontext, der identitätswechselte Benutzer und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket instance und einem bestimmten Rückruf) wird bei nachfolgenden Verwendungen dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel
Gilt für:
BeginAccept(Socket, Int32, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung von einem angegebenen Socket anzunehmen, und empfängt den ersten von der Clientanwendung gesendeten Datenblock.
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);
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
Parameter
- receiveSize
- Int32
Die maximale Anzahl der zu empfangenden Bytes.
- callback
- AsyncCallback
Der AsyncCallback-Delegat.
- state
- Object
Ein Objekt mit Zustandsinformationen für diese Anforderung.
Gibt zurück
Ein IAsyncResult, das auf die asynchrone Socket-Objekterstellung verweist.
Ausnahmen
Das Socket-Objekt wurde geschlossen.
Der annehmende Socket überwacht keine Verbindungen. Vor dem Aufruf von Bind(EndPoint) müssen Sie Listen(Int32) und BeginAccept(AsyncCallback, Object) aufrufen.
- oder -
Der angenommene Socket ist gebunden.
receiveSize
ist kleiner als 0.
.NET Framework und .NET 5 und früher: Fehler beim Zugriff auf den Socket.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für die Neuentwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
Verbindungsorientierte Protokolle können die BeginAccept -Methode verwenden, um eingehende Verbindungsversuche zu akzeptieren. Der resultierende Annahmevorgang wird durch den zurückgegebenen IAsyncResult dargestellt, auch wenn er synchron abgeschlossen werden kann. Bevor Sie die BeginAccept -Methode aufrufen, müssen Sie die Listen -Methode aufrufen, um eingehende Verbindungsanforderungen zu überwachen und in die Warteschlange zu stellen.
Sie können einen Rückruf übergeben, der implementiert, BeginAccept um über den Abschluss des Annahmevorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginAcceptvon inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously -Eigenschaft für den zurückgegebenen IAsyncResult auf true
festgelegt, um anzugeben, dass die Methode synchron abgeschlossen wurde. Verwenden Sie die AsyncState -Eigenschaft von IAsyncResult , um das an die -Methode übergebene Zustandsobjekt BeginAccept abzurufen.
Der BeginAccept Vorgang muss durch Aufrufen der EndAccept -Methode abgeschlossen werden. In der Regel wird die -Methode vom bereitgestellten AsyncCallback Delegaten aufgerufen. EndAccept blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Um einen ausstehenden Aufruf der BeginAccept -Methode abzubrechen, schließen Sie .Socket Wenn die Close -Methode aufgerufen wird, während ein asynchroner Vorgang ausgeführt wird, wird der für die BeginAccept -Methode bereitgestellte Rückruf aufgerufen. Ein nachfolgender Aufruf der EndAccept -Methode löst eine ObjectDisposedException (vor .NET 7) oder eine (unter .NET 7 und höher) aus SocketException , um anzugeben, dass der Vorgang abgebrochen wurde.
Hinweis
Sie können die RemoteEndPoint -Eigenschaft des zurückgegebenen Socket verwenden, um die Netzwerkadresse und Portnummer des Remotehosts zu identifizieren.
Hinweis
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.
Hinweis
Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung in .NET Framework.
Hinweis
Der Ausführungskontext (der Sicherheitskontext, der identitätswechselte Benutzer und der aufrufende Kontext) wird für die asynchronen Socket Methoden zwischengespeichert. Nach der ersten Verwendung eines bestimmten Kontexts (einer bestimmten asynchronen Socket Methode, einer bestimmten Socket instance und einem bestimmten Rückruf) wird bei nachfolgenden Verwendungen dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel