Socket.BeginConnect 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 eine asynchrone Anforderung einer Remotehostverbindung.
Überlädt
BeginConnect(EndPoint, AsyncCallback, Object) |
Beginnt eine asynchrone Anforderung einer Remotehostverbindung. |
BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Beginnt eine asynchrone Anforderung einer Remotehostverbindung. Der Host wird durch eine IPAddress und eine Anschlussnummer angegeben. |
BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Beginnt eine asynchrone Anforderung einer Remotehostverbindung. Der Host wird durch ein IPAddress-Array und eine Anschlussnummer angegeben. |
BeginConnect(String, Int32, AsyncCallback, Object) |
Beginnt eine asynchrone Anforderung einer Remotehostverbindung. Der Host wird durch einen Hostnamen und eine Portnummer angegeben. |
BeginConnect(EndPoint, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt eine asynchrone Anforderung einer Remotehostverbindung.
public:
IAsyncResult ^ BeginConnect(System::Net::EndPoint ^ remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginConnect : System.Net.EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (remoteEP As EndPoint, 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 Verbindung verweist.
Ausnahmen
remoteEP
ist null
nur .NET Framework und .NET 5 und früher: Fehler beim Versuch, auf den Socket zuzugreifen.
Der Socket wurde geschlossen.
Ein höher in der Aufrufliste befindlicher Aufrufer verfügt nicht über die Berechtigung für den angeforderten Vorgang.
Der Socket wurde durch den Aufruf von Listen(Int32) in einem Wartezustand platziert, oder ein asynchroner Vorgang wird bereits ausgeführt.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für neue Entwicklung 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 möglicherweise synchron abgeschlossen wird. Bevor Sie die BeginAccept -Methode aufrufen, müssen Sie die Listen -Methode aufrufen, um eingehende Verbindungsanforderungen zu lauschen und in die Warteschlange zu stellen.
Sie können einen Rückruf übergeben, der implementiert wird, BeginAccept um über den Abschluss des Annahmevorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginAcceptvon möglicherweise inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene 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 Delegat 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 späterer Aufruf der EndAccept -Methode löst ein ObjectDisposedException (vor .NET 7) oder ein (unter .NET 7+) 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 der nachfolgenden Verwendung dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling von Delegaten als Rückrufmethode
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel
Gilt für:
BeginConnect(IPAddress, Int32, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt eine asynchrone Anforderung einer Remotehostverbindung. Der Host wird durch eine IPAddress und eine Anschlussnummer angegeben.
public:
IAsyncResult ^ BeginConnect(System::Net::IPAddress ^ address, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (address As IPAddress, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- port
- Int32
Die Portnummer des Remotehosts.
- requestCallback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss des Verbindungsvorgangs aufgerufen werden soll.
- state
- Object
Ein benutzerdefiniertes Objekt, das Informationen über den Verbindungsvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den requestCallback
-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult, das auf die asynchrone Verbindung verweist.
Ausnahmen
address
ist null
nur .NET Framework und .NET 5 und früher: Fehler beim Versuch, auf den Socket zuzugreifen.
Der Socket wurde geschlossen.
Der Socket ist kein Mitglied der Socketfamilie.
Die Portnummer ist ungültig.
Die Länge von address
ist 0 (null).
Der Socket wurde durch den Aufruf von Listen(Int32) in einem Wartezustand platziert, oder ein asynchroner Vorgang wird bereits ausgeführt.
Hinweise
Wichtig
Dies ist eine Kompatibilitäts-API. Es wird nicht empfohlen, die Methoden APM (Begin*
und End*
) für neue Entwicklung zu verwenden. Verwenden Sie stattdessen die Task
-basierten Entsprechungen.
Wenn Sie ein verbindungsorientiertes Protokoll verwenden, startet die BeginConnect -Methode eine asynchrone Anforderung für eine Verbindung mit dem durch den remoteEP
Parameter angegebenen Endpoit. Wenn Sie ein verbindungsloses Protokoll verwenden, BeginConnect wird ein Standard-Remotehost eingerichtet.
Sie können einen Rückruf übergeben, der implementiert wird, BeginConnect um über den Abschluss des Verbindungsvorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginConnectvon möglicherweise inline ausgeführt wird, wenn der zugrunde liegende Netzwerkstapel den Vorgang synchron abschließt. In diesem Fall wird die CompletedSynchronously Eigenschaft für die zurückgegebene 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 BeginConnect abzurufen.
Der BeginConnect Vorgang muss durch Aufrufen der EndConnect -Methode abgeschlossen werden. In der Regel wird die -Methode vom bereitgestellten AsyncCallback Delegat aufgerufen. EndConnect blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Wenn Sie ein verbindungsloses Protokoll wie UDP verwenden, müssen Sie vor dem Senden und Empfangen von Daten nicht aufrufen BeginConnect . Sie können und BeginReceiveFrom verwendenBeginSendTo, um mit einem Remotehost zu kommunizieren. Wenn Sie aufrufen BeginConnect, werden alle Datagramme verworfen, die von einer anderen Adresse als der angegebenen Standardadresse eingehen. Wenn Sie Ihren Standard-Remotehost auf eine Broadcastadresse festlegen möchten, müssen Sie zuerst aufrufen SetSocketOption und Broadcast auf true
festlegen. Wenn sie dies nicht können, BeginConnect wird ein SocketExceptionausgelöst.
Wenn Sie ein verbindungsorientiertes Protokoll verwenden und vor dem Aufrufen BeginConnectnicht aufrufenBind, weist der zugrunde liegende Dienstanbieter die am besten geeignete lokale Netzwerkadresse und Portnummer zu. Wenn Sie ein verbindungsloses Protokoll verwenden, weist der Dienstanbieter erst dann eine lokale Netzwerkadresse und Portnummer zu, wenn Sie die BeginSend -Methode oder ReceiveFrom aufrufen. Wenn Sie den Standard-Remotehost ändern möchten, rufen Sie die BeginConnect Methode mit dem gewünschten Endpunkt erneut auf.
Um einen ausstehenden Aufruf der BeginConnect -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 BeginConnect Methode bereitgestellte Rückruf aufgerufen. Ein späterer Aufruf der EndConnect -Methode löst ein ObjectDisposedException (vor .NET 7) oder ein (unter .NET 7+) aus SocketException , um anzugeben, dass der Vorgang abgebrochen wurde.
Hinweis
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.
Hinweis
Wenn dieser Socket zuvor getrennt wurde, muss für einen Thread aufgerufen werden, der BeginConnect erst beendet wird, wenn der Vorgang abgeschlossen ist. Dies ist eine Einschränkung des zugrunde liegenden Anbieters.
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
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling von Delegaten als Rückrufmethode
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel
Gilt für:
BeginConnect(IPAddress[], Int32, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt eine asynchrone Anforderung einer Remotehostverbindung. Der Host wird durch ein IPAddress-Array und eine Anschlussnummer angegeben.
public:
IAsyncResult ^ BeginConnect(cli::array <System::Net::IPAddress ^> ^ addresses, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress[] * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (addresses As IPAddress(), port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- port
- Int32
Die Portnummer des Remotehosts.
- requestCallback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss des Verbindungsvorgangs aufgerufen werden soll.
- state
- Object
Ein benutzerdefiniertes Objekt, das Informationen über den Verbindungsvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den requestCallback
-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult, das auf die asynchronen Verbindungen verweist.
Ausnahmen
addresses
ist null
.NET Framework und .NET 5 und früher: Fehler beim Zugriff auf den Socket.
Der Socket wurde geschlossen.
Diese Methode ist für Sockets gültig, die InterNetwork oder InterNetworkV6 verwenden.
Die Portnummer ist ungültig.
Die Länge von address
ist 0 (null).
Der Socket wurde durch den Aufruf von Listen(Int32) in einem Wartezustand platziert, oder ein asynchroner Vorgang wird bereits ausgeführt.
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.
Wenn Sie ein verbindungsorientiertes Protokoll verwenden, startet die BeginConnect -Methode eine asynchrone Anforderung für eine Verbindung mit dem durch den remoteEP
Parameter angegebenen Endpoit. Wenn Sie ein verbindungsloses Protokoll verwenden, BeginConnect wird ein Standard-Remotehost eingerichtet.
Sie können einen Rückruf übergeben, der implementiert, BeginConnect um über den Abschluss des Verbindungsvorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginConnectvon 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 BeginConnect abzurufen.
Der BeginConnect Vorgang muss durch Aufrufen der EndConnect -Methode abgeschlossen werden. In der Regel wird die -Methode vom bereitgestellten AsyncCallback Delegaten aufgerufen. EndConnect blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Wenn Sie ein verbindungsloses Protokoll wie UDP verwenden, müssen Sie vor dem Senden und Empfangen von Daten nicht aufrufen BeginConnect . Sie können und BeginReceiveFrom verwendenBeginSendTo, um mit einem Remotehost zu kommunizieren. Wenn Sie aufrufen BeginConnect, werden alle Datagramme verworfen, die von einer anderen Adresse als der angegebenen Standardadresse empfangen werden. Wenn Sie Ihren Standard-Remotehost auf eine Broadcastadresse festlegen möchten, müssen Sie zuerst aufrufen SetSocketOption und Broadcast auf true
festlegen. Wenn dies nicht der Fehler ist, BeginConnect löst eine aus SocketException.
Wenn Sie ein verbindungsorientiertes Protokoll verwenden und vor dem Aufrufen BeginConnectnicht aufrufenBind, weist der zugrunde liegende Dienstanbieter die am besten geeignete lokale Netzwerkadresse und Portnummer zu. Wenn Sie ein verbindungsloses Protokoll verwenden, weist der Dienstanbieter erst dann eine lokale Netzwerkadresse und Portnummer zu, wenn Sie die BeginSend - oder ReceiveFrom -Methode aufrufen. Wenn Sie den Standard-Remotehost ändern möchten, rufen Sie die BeginConnect -Methode erneut mit dem gewünschten Endpunkt auf.
Um einen ausstehenden Aufruf der BeginConnect -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 BeginConnect -Methode bereitgestellte Rückruf aufgerufen. Ein nachfolgender Aufruf der EndConnect -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
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.
Hinweis
Wenn dieser Socket zuvor getrennt wurde, muss für einen Thread aufgerufen werden, der BeginConnect erst beendet wird, wenn der Vorgang abgeschlossen ist. Dies ist eine Einschränkung des zugrunde liegenden Anbieters.
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
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling von Delegaten als Rückrufmethode
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel
Gilt für:
BeginConnect(String, Int32, AsyncCallback, Object)
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
- Quelle:
- Socket.cs
Beginnt eine asynchrone Anforderung einer Remotehostverbindung. Der Host wird durch einen Hostnamen und eine Portnummer angegeben.
public:
IAsyncResult ^ BeginConnect(System::String ^ host, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : string * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (host As String, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Parameter
- host
- String
Der Name des Remotehosts.
- port
- Int32
Die Portnummer des Remotehosts.
- requestCallback
- AsyncCallback
Ein AsyncCallback-Delegat, der auf die Methode verweist, die bei Abschluss des Verbindungsvorgangs aufgerufen werden soll.
- state
- Object
Ein benutzerdefiniertes Objekt, das Informationen über den Verbindungsvorgang enthält. Dieses Objekt wird bei Abschluss des Vorgangs an den requestCallback
-Delegaten übergeben.
Gibt zurück
Ein IAsyncResult, das auf die asynchrone Verbindung verweist.
Ausnahmen
host
ist null
.
Der Socket wurde geschlossen.
Diese Methode gilt für Sockets der Familie InterNetwork oder InterNetworkV6.
Die Portnummer ist ungültig.
Der Socket wurde durch den Aufruf von Listen(Int32) in einem Wartezustand platziert, oder ein asynchroner Vorgang wird bereits ausgeführt.
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.
Wenn Sie ein verbindungsorientiertes Protokoll verwenden, startet die BeginConnect -Methode eine asynchrone Anforderung für eine Verbindung mit dem durch den remoteEP
Parameter angegebenen Endpoit. Wenn Sie ein verbindungsloses Protokoll verwenden, BeginConnect wird ein Standard-Remotehost eingerichtet.
Sie können einen Rückruf übergeben, der implementiert, BeginConnect um über den Abschluss des Verbindungsvorgangs AsyncCallback benachrichtigt zu werden. Beachten Sie, dass der Rückruf während des Aufrufs BeginConnectvon 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 BeginConnect abzurufen.
Der BeginConnect Vorgang muss durch Aufrufen der EndConnect -Methode abgeschlossen werden. In der Regel wird die -Methode vom bereitgestellten AsyncCallback Delegaten aufgerufen. EndConnect blockiert den aufrufenden Thread, bis der Vorgang abgeschlossen ist.
Wenn Sie ein verbindungsloses Protokoll wie UDP verwenden, müssen Sie vor dem Senden und Empfangen von Daten nicht aufrufen BeginConnect . Sie können und BeginReceiveFrom verwendenBeginSendTo, um mit einem Remotehost zu kommunizieren. Wenn Sie aufrufen BeginConnect, werden alle Datagramme verworfen, die von einer anderen Adresse als der angegebenen Standardadresse empfangen werden. Wenn Sie Ihren Standard-Remotehost auf eine Broadcastadresse festlegen möchten, müssen Sie zuerst aufrufen SetSocketOption und Broadcast auf true
festlegen. Wenn dies nicht der Fehler ist, BeginConnect löst eine aus SocketException.
Wenn Sie ein verbindungsorientiertes Protokoll verwenden und vor dem Aufrufen BeginConnectnicht aufrufenBind, weist der zugrunde liegende Dienstanbieter die am besten geeignete lokale Netzwerkadresse und Portnummer zu. Wenn Sie ein verbindungsloses Protokoll verwenden, weist der Dienstanbieter erst dann eine lokale Netzwerkadresse und Portnummer zu, wenn Sie die BeginSend - oder ReceiveFrom -Methode aufrufen. Wenn Sie den Standard-Remotehost ändern möchten, rufen Sie die BeginConnect -Methode erneut mit dem gewünschten Endpunkt auf.
Um einen ausstehenden Aufruf der BeginConnect -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 BeginConnect -Methode bereitgestellte Rückruf aufgerufen. Ein nachfolgender Aufruf der EndConnect -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
Wenn Sie erhalten eine SocketException, verwenden die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode zu erhalten.
Hinweis
Wenn dieser Socket zuvor getrennt wurde, muss für einen Thread aufgerufen werden, der BeginConnect erst beendet wird, wenn der Vorgang abgeschlossen ist. Dies ist eine Einschränkung des zugrunde liegenden Anbieters.
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 der nachfolgenden Verwendung dieses Kontexts eine Leistungsverbesserung angezeigt.
Weitere Informationen
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling von Delegaten als Rückrufmethode
- Asynchrone Clientsockets - Beispiel
- Asynchroner Serversocket, Beispiel