Condividi tramite


Socket.BeginAccept Metodo

Definizione

Avvia un'operazione asincrona per accettare un tentativo di connessione in ingresso.

Overload

Nome Descrizione
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 inviati 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 inviati dall'applicazione client.

BeginAccept(AsyncCallback, Object)

Origine:
Socket.cs
Origine:
Socket.cs
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 Socket .

Eccezioni

L'oggetto Socket è stato chiuso.

Il socket di accettazione non è in ascolto delle connessioni. È necessario chiamare e Listen(Int32) prima di chiamare Bind(EndPoint)BeginAccept(AsyncCallback, Object).

oppure

Il socket accettato è associato.

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 Taskequivalenti 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à 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

Si applica a

BeginAccept(Int32, AsyncCallback, Object)

Origine:
Socket.cs
Origine:
Socket.cs
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 inviati 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 Socket .

Eccezioni

L'oggetto Socket è stato chiuso.

Il socket di accettazione non è in ascolto delle connessioni. È necessario chiamare e Listen(Int32) prima di chiamare Bind(EndPoint)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 Taskequivalenti 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à 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

Si applica a

BeginAccept(Socket, Int32, AsyncCallback, Object)

Origine:
Socket.cs
Origine:
Socket.cs
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 inviati 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

acceptSocket
Socket

Oggetto accettato Socket . Questo valore può essere null.

receiveSize
Int32

Numero massimo di 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 Socket dell'oggetto.

Eccezioni

L'oggetto Socket è stato chiuso.

Il socket di accettazione non è in ascolto delle connessioni. È necessario chiamare e Listen(Int32) prima di chiamare Bind(EndPoint)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 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

Si applica a