Socket.BeginConnect Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Avvia una richiesta asincrona per una connessione host remota.
Overload
| Nome | Descrizione |
|---|---|
| BeginConnect(EndPoint, AsyncCallback, Object) |
Avvia una richiesta asincrona per una connessione host remota. |
| BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Avvia una richiesta asincrona per una connessione host remota. L'host viene specificato da un IPAddress oggetto e da un numero di porta. |
| BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Avvia una richiesta asincrona per una connessione host remota. L'host viene specificato da una IPAddress matrice e da un numero di porta. |
| BeginConnect(String, Int32, AsyncCallback, Object) |
Avvia una richiesta asincrona per una connessione host remota. L'host viene specificato da un nome host e da un numero di porta. |
BeginConnect(EndPoint, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Avvia una richiesta asincrona per una connessione host remota.
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
Parametri
- callback
- AsyncCallback
Delegato AsyncCallback .
- state
- Object
Oggetto che contiene informazioni sullo stato per questa richiesta.
Restituisce
Oggetto IAsyncResult che fa riferimento alla connessione asincrona.
Eccezioni
remoteEP è null.
Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.
L'oggetto Socket è stato chiuso.
Un chiamante superiore nello stack di chiamate non dispone dell'autorizzazione per l'operazione richiesta.
L'oggetto Socket è stato inserito in uno stato di ascolto chiamando Listen(Int32)o un'operazione asincrona è già in corso.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin* e End*) per nuovi sviluppi. Usare invece gli Taskequivalenti basati su .
I protocolli orientati alla connessione possono usare il BeginAccept metodo per iniziare ad accettare i tentativi di connessione in ingresso. L'operazione di accettazione risultante è rappresentata dall'oggetto restituito IAsyncResult anche se può essere completato in modo sincrono. Prima di chiamare il BeginAccept metodo , è necessario chiamare il Listen metodo per restare in ascolto e accodare le richieste di connessione in ingresso.
È possibile passare un callback che implementa AsyncCallback a BeginAccept per ricevere una notifica sul completamento dell'operazione di accettazione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback potrebbe essere eseguito inline, durante la chiamata a BeginAccept. In questo caso, la CompletedSynchronously proprietà sull'oggetto restituito verrà impostata IAsyncResult su true per indicare che il metodo è stato completato in modo sincrono. Utilizzare la AsyncState proprietà dell'oggetto IAsyncResult per ottenere l'oggetto di stato passato al BeginAccept metodo .
L'operazione BeginAccept deve essere completata chiamando il EndAccept metodo . In genere, il metodo viene richiamato dal delegato fornito AsyncCallback . EndAccept blocca il thread chiamante fino al completamento dell'operazione.
Per annullare una chiamata in sospeso al BeginAccept metodo , chiudere .Socket Quando il Close metodo viene chiamato mentre è in corso un'operazione asincrona, viene chiamato il callback fornito al BeginAccept metodo . Una chiamata successiva al EndAccept metodo genererà un'eccezione ObjectDisposedException (prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Annotazioni
È possibile usare la RemoteEndPoint proprietà dell'oggetto restituito Socket per identificare l'indirizzo di rete e il numero di porta dell'host remoto.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Annotazioni
Il contesto di esecuzione ,ovvero il contesto di sicurezza, l'utente rappresentato e il contesto chiamante, viene memorizzato nella cache per i metodi asincroni Socket . Dopo il primo utilizzo di un contesto specifico (un metodo asincrono Socket specifico, un'istanza specifica Socket e un callback specifico), gli usi successivi di tale contesto vedranno un miglioramento delle prestazioni.
Vedi anche
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling di un delegato come metodo di callback
- Esempio di socket client asincrono
- Esempio di socket server asincrono
Si applica a
BeginConnect(IPAddress, Int32, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Avvia una richiesta asincrona per una connessione host remota. L'host viene specificato da un IPAddress oggetto e da un numero di porta.
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
Parametri
- port
- Int32
Numero di porta dell'host remoto.
- requestCallback
- AsyncCallback
Delegato AsyncCallback che fa riferimento al metodo da richiamare al termine dell'operazione di connessione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di connessione. Questo oggetto viene passato al requestCallback delegato al termine dell'operazione.
Restituisce
Oggetto IAsyncResult che fa riferimento alla connessione asincrona.
Eccezioni
address è null.
Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.
L'oggetto Socket è stato chiuso.
L'oggetto Socket non è nella famiglia socket.
Il numero di porta non è valido.
La lunghezza di address è zero.
L'oggetto Socket è stato inserito in uno stato di ascolto chiamando Listen(Int32)o un'operazione asincrona è già in corso.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin* e End*) per nuovi sviluppi. Usare invece gli Taskequivalenti basati su .
Se si usa un protocollo orientato alla connessione, il BeginConnect metodo avvia una richiesta asincrona per una connessione all'endpoint specificato dal remoteEP parametro . Se si usa un protocollo senza connessione, BeginConnect stabilisce un host remoto predefinito.
È possibile passare un callback che implementa AsyncCallback a BeginConnect per ricevere una notifica sul completamento dell'operazione di connessione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback potrebbe essere eseguito inline, durante la chiamata a BeginConnect. In questo caso, la CompletedSynchronously proprietà sull'oggetto restituito verrà impostata IAsyncResult su true per indicare che il metodo è stato completato in modo sincrono. Utilizzare la AsyncState proprietà dell'oggetto IAsyncResult per ottenere l'oggetto di stato passato al BeginConnect metodo .
L'operazione BeginConnect deve essere completata chiamando il EndConnect metodo . In genere, il metodo viene richiamato dal delegato fornito AsyncCallback . EndConnect blocca il thread chiamante fino al completamento dell'operazione.
Se si usa un protocollo senza connessione, ad esempio UDP, non è necessario chiamare BeginConnect prima di inviare e ricevere dati. È possibile usare BeginSendTo e BeginReceiveFrom per comunicare con un host remoto. Se si chiama BeginConnect, tutti i datagrammi che arrivano da un indirizzo diverso dal valore predefinito specificato verranno eliminati. Se si desidera impostare l'host remoto predefinito su un indirizzo di trasmissione, è prima necessario chiamare SetSocketOption e impostare Broadcast su true. Se non è possibile, BeginConnect genererà un'eccezione SocketException.
Se si usa un protocollo orientato alla connessione e non si chiama prima di chiamare BindBeginConnect, il provider di servizi sottostante assegnerà l'indirizzo di rete e il numero di porta più appropriati. Se si usa un protocollo senza connessione, il provider di servizi non assegnerà un indirizzo di rete locale e un numero di porta finché non si chiama il BeginSend metodo o ReceiveFrom . Se si vuole modificare l'host remoto predefinito, chiamare di nuovo il BeginConnect metodo con l'endpoint desiderato.
Per annullare una chiamata in sospeso al BeginConnect metodo , chiudere .Socket Quando il Close metodo viene chiamato mentre è in corso un'operazione asincrona, viene chiamato il callback fornito al BeginConnect metodo . Una chiamata successiva al EndConnect metodo genererà un'eccezione ObjectDisposedException (prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Se questo socket è stato disconnesso in precedenza, BeginConnect deve essere chiamato su un thread che non verrà chiuso fino al completamento dell'operazione. Si tratta di una limitazione del provider sottostante.
Annotazioni
Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Annotazioni
Il contesto di esecuzione ,ovvero il contesto di sicurezza, l'utente rappresentato e il contesto chiamante, viene memorizzato nella cache per i metodi asincroni Socket . Dopo il primo utilizzo di un contesto specifico (un metodo asincrono Socket specifico, un'istanza specifica Socket e un callback specifico), gli usi successivi di tale contesto vedranno un miglioramento delle prestazioni.
Vedi anche
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling di un delegato come metodo di callback
- Esempio di socket client asincrono
- Esempio di socket server asincrono
Si applica a
BeginConnect(IPAddress[], Int32, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Avvia una richiesta asincrona per una connessione host remota. L'host viene specificato da una IPAddress matrice e da un numero di porta.
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
Parametri
- port
- Int32
Numero di porta dell'host remoto.
- requestCallback
- AsyncCallback
Delegato AsyncCallback che fa riferimento al metodo da richiamare al termine dell'operazione di connessione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di connessione. Questo oggetto viene passato al requestCallback delegato al termine dell'operazione.
Restituisce
Oggetto IAsyncResult che fa riferimento alle connessioni asincrone.
Eccezioni
addresses è null.
Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.
L'oggetto Socket è stato chiuso.
Questo metodo è valido per i socket che usano InterNetwork o InterNetworkV6.
Il numero di porta non è valido.
La lunghezza di addresses è zero.
L'oggetto Socket è stato inserito in uno stato di ascolto chiamando Listen(Int32)o un'operazione asincrona è già in corso.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin* e End*) per nuovi sviluppi. Usare invece gli Taskequivalenti basati su .
Se si usa un protocollo orientato alla connessione, il BeginConnect metodo avvia una richiesta asincrona per una connessione all'endpoint specificato dal remoteEP parametro . Se si usa un protocollo senza connessione, BeginConnect stabilisce un host remoto predefinito.
È possibile passare un callback che implementa AsyncCallback a BeginConnect per ricevere una notifica sul completamento dell'operazione di connessione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback potrebbe essere eseguito inline, durante la chiamata a BeginConnect. In questo caso, la CompletedSynchronously proprietà sull'oggetto restituito verrà impostata IAsyncResult su true per indicare che il metodo è stato completato in modo sincrono. Utilizzare la AsyncState proprietà dell'oggetto IAsyncResult per ottenere l'oggetto di stato passato al BeginConnect metodo .
L'operazione BeginConnect deve essere completata chiamando il EndConnect metodo . In genere, il metodo viene richiamato dal delegato fornito AsyncCallback . EndConnect blocca il thread chiamante fino al completamento dell'operazione.
Se si usa un protocollo senza connessione, ad esempio UDP, non è necessario chiamare BeginConnect prima di inviare e ricevere dati. È possibile usare BeginSendTo e BeginReceiveFrom per comunicare con un host remoto. Se si chiama BeginConnect, tutti i datagrammi che arrivano da un indirizzo diverso dal valore predefinito specificato verranno eliminati. Se si desidera impostare l'host remoto predefinito su un indirizzo di trasmissione, è prima necessario chiamare SetSocketOption e impostare Broadcast su true. Se non è possibile, BeginConnect genererà un'eccezione SocketException.
Se si usa un protocollo orientato alla connessione e non si chiama prima di chiamare BindBeginConnect, il provider di servizi sottostante assegnerà l'indirizzo di rete e il numero di porta più appropriati. Se si usa un protocollo senza connessione, il provider di servizi non assegnerà un indirizzo di rete locale e un numero di porta finché non si chiama il BeginSend metodo o ReceiveFrom . Se si vuole modificare l'host remoto predefinito, chiamare di nuovo il BeginConnect metodo con l'endpoint desiderato.
Per annullare una chiamata in sospeso al BeginConnect metodo , chiudere .Socket Quando il Close metodo viene chiamato mentre è in corso un'operazione asincrona, viene chiamato il callback fornito al BeginConnect metodo . Una chiamata successiva al EndConnect metodo genererà un'eccezione ObjectDisposedException (prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Se questo socket è stato disconnesso in precedenza, BeginConnect deve essere chiamato su un thread che non verrà chiuso fino al completamento dell'operazione. Si tratta di una limitazione del provider sottostante.
Annotazioni
Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Annotazioni
Il contesto di esecuzione ,ovvero il contesto di sicurezza, l'utente rappresentato e il contesto chiamante, viene memorizzato nella cache per i metodi asincroni Socket . Dopo il primo utilizzo di un contesto specifico (un metodo asincrono Socket specifico, un'istanza specifica Socket e un callback specifico), gli usi successivi di tale contesto vedranno un miglioramento delle prestazioni.
Vedi anche
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling di un delegato come metodo di callback
- Esempio di socket client asincrono
- Esempio di socket server asincrono
Si applica a
BeginConnect(String, Int32, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Avvia una richiesta asincrona per una connessione host remota. L'host viene specificato da un nome host e da un numero di porta.
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
Parametri
- host
- String
Nome dell'host remoto.
- port
- Int32
Numero di porta dell'host remoto.
- requestCallback
- AsyncCallback
Delegato AsyncCallback che fa riferimento al metodo da richiamare al termine dell'operazione di connessione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di connessione. Questo oggetto viene passato al requestCallback delegato al termine dell'operazione.
Restituisce
Oggetto IAsyncResult che fa riferimento alla connessione asincrona.
Eccezioni
host è null.
L'oggetto Socket è stato chiuso.
Questo metodo è valido per i socket nelle InterNetwork famiglie o InterNetworkV6 .
Il numero di porta non è valido.
L'oggetto Socket è stato inserito in uno stato di ascolto chiamando Listen(Int32)o un'operazione asincrona è già in corso.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin* e End*) per nuovi sviluppi. Usare invece gli Taskequivalenti basati su .
Se si usa un protocollo orientato alla connessione, il BeginConnect metodo avvia una richiesta asincrona per una connessione all'endpoint specificato dal remoteEP parametro . Se si usa un protocollo senza connessione, BeginConnect stabilisce un host remoto predefinito.
È possibile passare un callback che implementa AsyncCallback a BeginConnect per ricevere una notifica sul completamento dell'operazione di connessione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback potrebbe essere eseguito inline, durante la chiamata a BeginConnect. In questo caso, la CompletedSynchronously proprietà sull'oggetto restituito verrà impostata IAsyncResult su true per indicare che il metodo è stato completato in modo sincrono. Utilizzare la AsyncState proprietà dell'oggetto IAsyncResult per ottenere l'oggetto di stato passato al BeginConnect metodo .
L'operazione BeginConnect deve essere completata chiamando il EndConnect metodo . In genere, il metodo viene richiamato dal delegato fornito AsyncCallback . EndConnect blocca il thread chiamante fino al completamento dell'operazione.
Se si usa un protocollo senza connessione, ad esempio UDP, non è necessario chiamare BeginConnect prima di inviare e ricevere dati. È possibile usare BeginSendTo e BeginReceiveFrom per comunicare con un host remoto. Se si chiama BeginConnect, tutti i datagrammi che arrivano da un indirizzo diverso dal valore predefinito specificato verranno eliminati. Se si desidera impostare l'host remoto predefinito su un indirizzo di trasmissione, è prima necessario chiamare SetSocketOption e impostare Broadcast su true. Se non è possibile, BeginConnect genererà un'eccezione SocketException.
Se si usa un protocollo orientato alla connessione e non si chiama prima di chiamare BindBeginConnect, il provider di servizi sottostante assegnerà l'indirizzo di rete e il numero di porta più appropriati. Se si usa un protocollo senza connessione, il provider di servizi non assegnerà un indirizzo di rete locale e un numero di porta finché non si chiama il BeginSend metodo o ReceiveFrom . Se si vuole modificare l'host remoto predefinito, chiamare di nuovo il BeginConnect metodo con l'endpoint desiderato.
Per annullare una chiamata in sospeso al BeginConnect metodo , chiudere .Socket Quando il Close metodo viene chiamato mentre è in corso un'operazione asincrona, viene chiamato il callback fornito al BeginConnect metodo . Una chiamata successiva al EndConnect metodo genererà un'eccezione ObjectDisposedException (prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Se questo socket è stato disconnesso in precedenza, BeginConnect deve essere chiamato su un thread che non verrà chiuso fino al completamento dell'operazione. Si tratta di una limitazione del provider sottostante.
Annotazioni
Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Annotazioni
Il contesto di esecuzione ,ovvero il contesto di sicurezza, l'utente rappresentato e il contesto chiamante, viene memorizzato nella cache per i metodi asincroni Socket . Dopo il primo utilizzo di un contesto specifico (un metodo asincrono Socket specifico, un'istanza specifica Socket e un callback specifico), gli usi successivi di tale contesto vedranno un miglioramento delle prestazioni.
Vedi anche
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Marshalling di un delegato come metodo di callback
- Esempio di socket client asincrono
- Esempio di socket server asincrono