Socket.EndAccept Metodo

Definizione

Accetta un tentativo di connessione in ingresso in modalità asincrona.

Overload

EndAccept(IAsyncResult)

Accetta in modo asincrono una connessione in ingresso e crea un nuovo oggetto Socket per gestire la comunicazione con l'host remoto.

EndAccept(Byte[], IAsyncResult)

Accetta in modo asincrono una connessione in ingresso e crea un nuovo oggetto Socket per gestire la comunicazione con l'host remoto. Questo metodo restituisce un buffer contenente i dati iniziali trasferiti.

EndAccept(Byte[], Int32, IAsyncResult)

Accetta in modo asincrono una connessione in ingresso e crea un nuovo oggetto Socket per gestire la comunicazione con l'host remoto. Questo metodo restituisce un buffer contenente i dati iniziali e il numero di byte trasferiti.

EndAccept(IAsyncResult)

Origine:
Socket.cs
Origine:
Socket.cs
Origine:
Socket.cs

Accetta in modo asincrono una connessione in ingresso e crea un nuovo oggetto Socket per gestire la comunicazione con l'host remoto.

C#
public System.Net.Sockets.Socket EndAccept(IAsyncResult asyncResult);

Parametri

asyncResult
IAsyncResult

Oggetto IAsyncResult che memorizza informazioni sullo stato e qualsiasi dato definito dall'utente per l'operazione asincrona.

Restituisce

Socket che gestisce la comunicazione con l'host remoto.

Eccezioni

asyncResult è null.

asyncResult non è stato creato da una chiamata al metodo BeginAccept(AsyncCallback, Object).

Si è verificato un errore durante il tentativo di accesso al socket.

-oppure-

Solo .NET 7+: l'oggetto Socket è stato chiuso.

Solo .NET Framework, .NET Core e .NET 5-6: è Socket stato chiuso.

Il metodo EndAccept(IAsyncResult) è stato chiamato precedentemente.

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 .

EndAccept completa l'operazione avviata da BeginAccept. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginAccept .

Il EndAccept metodo si blocca finché una connessione non è in sospeso nella coda di connessione in ingresso. Il EndAccept metodo accetta la connessione in ingresso e restituisce un nuovo Socket oggetto che può essere usato per inviare e ricevere dati dall'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.

Vedi anche

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

EndAccept(Byte[], IAsyncResult)

Origine:
Socket.cs
Origine:
Socket.cs
Origine:
Socket.cs

Accetta in modo asincrono una connessione in ingresso e crea un nuovo oggetto Socket per gestire la comunicazione con l'host remoto. Questo metodo restituisce un buffer contenente i dati iniziali trasferiti.

C#
public System.Net.Sockets.Socket EndAccept(out byte[] buffer, IAsyncResult asyncResult);

Parametri

buffer
Byte[]

Matrice di tipo Byte contenente i byte trasferiti.

asyncResult
IAsyncResult

Oggetto IAsyncResult che memorizza informazioni sullo stato e qualsiasi dato definito dall'utente per l'operazione asincrona.

Restituisce

Oggetto Socket che gestisce la comunicazione con l'host remoto.

Eccezioni

Solo .NET Framework, .NET Core e .NET 5-6: è Socket stato chiuso.

asyncResult è vuoto.

asyncResult non è stato creato da una chiamata al metodo BeginAccept(AsyncCallback, Object).

Il metodo EndAccept(IAsyncResult) è stato chiamato precedentemente.

Si è verificato un errore durante il tentativo di accesso al socket.

-oppure-

Solo .NET 7+: l'oggetto Socket è stato chiuso.

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 .

EndAccept completa l'operazione avviata da BeginAccept. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginAccept .

Il buffer parametro di questo overload contiene i dati ricevuti nella chiamata a BeginAccept e il bytesTransferred parametro contiene il numero di byte trasferiti nella chiamata.

Il EndAccept metodo si blocca finché una connessione non è in sospeso nella coda di connessione in ingresso. Il EndAccept metodo accetta la connessione in ingresso e restituisce un nuovo Socket oggetto che può essere usato per inviare e ricevere dati dall'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.

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

EndAccept(Byte[], Int32, IAsyncResult)

Origine:
Socket.cs
Origine:
Socket.cs
Origine:
Socket.cs

Accetta in modo asincrono una connessione in ingresso e crea un nuovo oggetto Socket per gestire la comunicazione con l'host remoto. Questo metodo restituisce un buffer contenente i dati iniziali e il numero di byte trasferiti.

C#
public System.Net.Sockets.Socket EndAccept(out byte[] buffer, out int bytesTransferred, IAsyncResult asyncResult);

Parametri

buffer
Byte[]

Matrice di tipo Byte contenente i byte trasferiti.

bytesTransferred
Int32

Il numero di byte trasferiti.

asyncResult
IAsyncResult

Oggetto IAsyncResult che memorizza informazioni sullo stato e qualsiasi dato definito dall'utente per l'operazione asincrona.

Restituisce

Oggetto Socket che gestisce la comunicazione con l'host remoto.

Eccezioni

Solo .NET Framework, .NET Core e .NET 5-6: è Socket stato chiuso.

asyncResult è vuoto.

asyncResult non è stato creato da una chiamata al metodo BeginAccept(AsyncCallback, Object).

Il metodo EndAccept(IAsyncResult) è stato chiamato precedentemente.

Si è verificato un errore durante il tentativo di accesso al socket.

-oppure-

Solo .NET 7+: l'oggetto Socket è stato chiuso.

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 .

EndAccept completa l'operazione avviata da BeginAccept. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginAccept .

Il EndAccept metodo si blocca finché una connessione non è in sospeso nella coda di connessione in ingresso. Il EndAccept metodo accetta la connessione in ingresso e restituisce un nuovo Socket oggetto che può essere usato per inviare e ricevere dati dall'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.

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1