Socket.BeginAccept 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 un'operazione asincrona per accettare un tentativo di connessione in ingresso.
Overload
BeginAccept(AsyncCallback, Object) |
Avvia un'operazione asincrona per accettare un tentativo di connessione in ingresso. |
BeginAccept(Int32, AsyncCallback, Object) |
Avvia un'operazione asincrona per accettare un tentativo di connessione in ingresso e riceve il primo blocco di dati inviato dall'applicazione client. |
BeginAccept(Socket, Int32, AsyncCallback, Object) |
Avvia un'operazione asincrona per accettare un tentativo di connessione in ingresso da un socket specificato e riceve il primo blocco di dati inviato dall'applicazione client. |
BeginAccept(AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Avvia un'operazione asincrona per accettare un tentativo di connessione in ingresso.
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
Parametri
- callback
- AsyncCallback
Delegato AsyncCallback.
- state
- Object
Oggetto che contiene informazioni sullo stato per questa richiesta.
Restituisce
Oggetto IAsyncResult che fa riferimento alla creazione asincrona di Socket.
Eccezioni
L'oggetto Socket è stato chiuso.
Il socket preposto ad accettare la connessione non è in attesa di connessioni. È necessario chiamare i metodi Bind(EndPoint) e Listen(Int32) prima di chiamare il metodo BeginAccept(AsyncCallback, Object).
-oppure-
Il socket accettato è associato.
receiveSize
è minore di 0.
Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.
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 .
I protocolli orientati alla connessione possono usare il BeginAccept metodo per iniziare ad accettare i tentativi di connessione in ingresso. 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à di IAsyncResult per ottenere l'oggetto 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à ( ObjectDisposedException prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Nota
È possibile usare la RemoteEndPoint proprietà dell'oggetto restituito Socket per identificare l'indirizzo di rete e il numero di porta dell'host remoto.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la SocketException.ErrorCode proprietà per ottenere il 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 (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
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Esempio di socket client asincrono
- Esempio di socket server asincrono
Si applica a
BeginAccept(Int32, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Avvia un'operazione asincrona per accettare un tentativo di connessione in ingresso e riceve il primo blocco di dati inviato dall'applicazione client.
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
Parametri
- receiveSize
- Int32
Numero di byte da accettare dal mittente.
- callback
- AsyncCallback
Delegato AsyncCallback.
- state
- Object
Oggetto che contiene informazioni sullo stato per questa richiesta.
Restituisce
Oggetto IAsyncResult che fa riferimento alla creazione asincrona di Socket.
Eccezioni
L'oggetto Socket è stato chiuso.
Il socket preposto ad accettare la connessione non è in attesa di connessioni. È necessario chiamare i metodi Bind(EndPoint) e Listen(Int32) prima di chiamare il metodo BeginAccept(AsyncCallback, Object).
-oppure-
Il socket accettato è associato.
receiveSize
è minore di 0.
Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.
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 .
I protocolli orientati alla connessione possono usare il BeginAccept metodo per iniziare ad accettare i tentativi di connessione in ingresso. 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à di IAsyncResult per ottenere l'oggetto 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à ( ObjectDisposedException prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Nota
È possibile usare la RemoteEndPoint proprietà dell'oggetto restituito Socket per identificare l'indirizzo di rete e il numero di porta dell'host remoto.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la SocketException.ErrorCode proprietà per ottenere il 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 (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
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Esempio di socket client asincrono
- Esempio di socket server asincrono
Si applica a
BeginAccept(Socket, Int32, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Avvia un'operazione asincrona per accettare un tentativo di connessione in ingresso da un socket specificato e riceve il primo blocco di dati inviato dall'applicazione client.
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
Parametri
- receiveSize
- Int32
Il numero massimo dei byte da ricevere.
- callback
- AsyncCallback
Delegato AsyncCallback.
- state
- Object
Oggetto che contiene informazioni sullo stato per questa richiesta.
Restituisce
Oggetto IAsyncResult che fa riferimento alla creazione asincrona dell'oggetto Socket.
Eccezioni
L'oggetto Socket è stato chiuso.
Il socket preposto ad accettare la connessione non è in attesa di connessioni. È necessario chiamare i metodi Bind(EndPoint) e Listen(Int32) prima di chiamare il metodo BeginAccept(AsyncCallback, Object).
-oppure-
Il socket accettato è associato.
receiveSize
è minore di 0.
Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.
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
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Esempio di socket client asincrono
- Esempio di socket server asincrono