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 di una connessione all'host remoto.
Overload
BeginConnect(EndPoint, AsyncCallback, Object) |
Avvia una richiesta asincrona di una connessione all'host remoto. |
BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Avvia una richiesta asincrona di una connessione all'host remoto. L'host remoto viene specificato da un IPAddress e da un numero di porta. |
BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Avvia una richiesta asincrona di una connessione all'host remoto. L'host viene specificato da una matrice di IPAddress e un numero di porta. |
BeginConnect(String, Int32, AsyncCallback, Object) |
Avvia una richiesta asincrona di una connessione all'host remoto. L'host viene specificato da un nome host e da un numero di porta. |
BeginConnect(EndPoint, AsyncCallback, Object)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Avvia una richiesta asincrona di una connessione all'host remoto.
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 di livello superiore nello stack di chiamate non ha l'autorizzazione per l'operazione richiesta.
Socket è stato collocato in uno stato di ascolto mediante la chiamata di Listen(Int32) o è già in corso un'operazione asincrona.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin*
e End*
) per il nuovo sviluppo. Usare invece gli Task
equivalenti basati su base.
I protocolli orientati alla connessione possono usare il metodo per avviare l'accettazione BeginAccept di tentativi di connessione in ingresso. L'operazione di accettazione risultante è rappresentata dall'oggetto restituito IAsyncResult anche se può completare in modo sincrono. Prima di chiamare il metodo, è necessario chiamare il BeginAcceptListen metodo per ascoltare 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à sul restituito verrà impostata IAsyncResult su per true
indicare che il metodo è stato completato in modo sincrono. Utilizzare la AsyncState proprietà dell'oggetto IAsyncResult per ottenere l'oggetto state 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 un'operazione asincrona è in corso, viene chiamato il BeginAccept callback fornito al metodo. Una chiamata successiva al EndAccept metodo genererà un ObjectDisposedException oggetto (prima di .NET 7) o un SocketException (in .NET 7+) per indicare che l'operazione è stata annullata.
Nota
È possibile usare la RemoteEndPoint proprietà del restituito Socket per identificare l'indirizzo di rete e il numero di porta dell'host remoto.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la proprietà per ottenere il SocketException.ErrorCode codice di errore specifico.
Nota
Questo membro genera informazioni di traccia quando viene abilitata la funzionalità di traccia di rete nell'applicazione in uso. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Nota
Il contesto di esecuzione (contesto di sicurezza, l'utente rappresentato e il contesto chiamante) viene memorizzato nella cache per i metodi asincroni Socket . Dopo il primo uso di un particolare contesto (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)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Avvia una richiesta asincrona di una connessione all'host remoto. L'host remoto viene specificato da un IPAddress 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 completamento dell'operazione di connessione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di connessione. Questo oggetto viene passato al delegato requestCallback
al completamento 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 è incluso nella famiglia di socket.
Il numero di porta non è valido.
La lunghezza di address
è zero.
Socket è stato collocato in uno stato di ascolto mediante la chiamata di Listen(Int32) o è già in corso un'operazione asincrona.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin*
e End*
) per il nuovo sviluppo. Usare invece gli Task
equivalenti basati su base.
Se si usa un protocollo orientato alla connessione, il BeginConnect metodo avvia una richiesta asincrona per una connessione all'endpoit remoteEP
specificata dal 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à sul restituito verrà impostata IAsyncResult su per true
indicare che il metodo è stato completato in modo sincrono. Utilizzare la AsyncState proprietà dell'oggetto IAsyncResult per ottenere l'oggetto state 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 comunicare con un host remoto. Se si chiama BeginConnect, tutti i datagrammi che arrivano da un indirizzo diverso dal valore predefinito specificato verranno ignorati. Se si vuole impostare l'host remoto predefinito su un indirizzo di trasmissione, è necessario prima chiamare SetSocketOption e impostare Broadcast su true
. Se non è possibile, BeginConnect genererà un SocketExceptionoggetto .
Se si usa un protocollo orientato alla connessione e non si chiama Bind prima di chiamare BeginConnect, il provider di servizi sottostante assegna il numero di porta e l'indirizzo di rete locale più appropriato. Se si usa un protocollo senza connessione, il provider di servizi non assegna 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 un'operazione asincrona è in corso, viene chiamato il BeginConnect callback fornito al metodo. Una chiamata successiva al EndConnect metodo genererà un ObjectDisposedException oggetto (prima di .NET 7) o un SocketException (in .NET 7+) per indicare che l'operazione è stata annullata.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la proprietà per ottenere il SocketException.ErrorCode codice di errore specifico.
Nota
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.
Nota
Questo membro genera informazioni di traccia quando viene abilitata la funzionalità di traccia di rete nell'applicazione in uso. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Nota
Il contesto di esecuzione (il contesto di sicurezza, l'utente rappresentato e il contesto chiamante) viene memorizzato nella cache per i metodi asincroni Socket . Dopo il primo uso 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)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Avvia una richiesta asincrona di una connessione all'host remoto. L'host viene specificato da una matrice di IPAddress e 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 completamento dell'operazione di connessione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di connessione. Questo oggetto viene passato al delegato requestCallback
al completamento 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 utilizzano InterNetwork o InterNetworkV6.
Il numero di porta non è valido.
La lunghezza di address
è zero.
Socket è stato collocato in uno stato di ascolto mediante la chiamata di Listen(Int32) o è già in corso un'operazione asincrona.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin*
e End*
) per nuovi sviluppi. Usare invece gli Task
equivalenti 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à di IAsyncResult per ottenere l'oggetto 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, gli eventuali datagrammi che arrivano da un indirizzo diverso dal valore predefinito specificato verranno eliminati. Se si desidera impostare l'host remoto predefinito su un indirizzo broadcast, è 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 locale 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à ( ObjectDisposedException prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Nota
Se questo socket è stato disconnesso in precedenza, BeginConnect è necessario chiamare su un thread che non verrà chiuso fino al completamento dell'operazione. Si tratta di una limitazione del provider sottostante.
Nota
Questo membro genera informazioni di traccia quando viene abilitata la funzionalità di traccia di rete nell'applicazione in uso. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Nota
Il contesto di esecuzione (il contesto di sicurezza, l'utente rappresentato e il contesto chiamante) viene memorizzato nella cache per i metodi asincroni Socket . Dopo il primo uso 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)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Avvia una richiesta asincrona di una connessione all'host remoto. 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
Il nome dell'host remoto.
- port
- Int32
Numero di porta dell'host remoto.
- requestCallback
- AsyncCallback
Delegato AsyncCallback che fa riferimento al metodo da richiamare al completamento dell'operazione di connessione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di connessione. Questo oggetto viene passato al delegato requestCallback
al completamento 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 famiglie InterNetwork o InterNetworkV6 .
Il numero di porta non è valido.
Socket è stato collocato in uno stato di ascolto mediante la chiamata di Listen(Int32) o è già in corso un'operazione asincrona.
Commenti
Importante
Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin*
e End*
) per nuovi sviluppi. Usare invece gli Task
equivalenti 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à di IAsyncResult per ottenere l'oggetto 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, gli eventuali datagrammi che arrivano da un indirizzo diverso dal valore predefinito specificato verranno eliminati. Se si desidera impostare l'host remoto predefinito su un indirizzo broadcast, è 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 locale 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à ( ObjectDisposedException prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Nota
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.
Nota
Questo membro genera informazioni di traccia quando viene abilitata la funzionalità di traccia di rete nell'applicazione in uso. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Nota
Il contesto di esecuzione (contesto di sicurezza, l'utente rappresentato e il contesto chiamante) viene memorizzato nella cache per i metodi asincroni Socket . Dopo il primo uso di un particolare contesto (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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per