Socket.BeginReceive Metodo

Definizione

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

Overload

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Parametri

buffer
Byte[]

Matrice di tipo Byte che costituisce la posizione di archiviazione per i dati ricevuti.

offset
Int32

Posizione in buffer per memorizzare i dati ricevuti.

size
Int32

Numero di byte da ricevere.

socketFlags
SocketFlags

Combinazione bit per bit dei valori di SocketFlags.

errorCode
SocketError

Oggetto SocketError che memorizza l'errore del socket.

callback
AsyncCallback

Delegato AsyncCallback cui fa riferimento il metodo da richiamare al completamento dell'operazione.

state
Object

Oggetto definito dall'utente contenente informazioni sull'operazione di ricezione. Questo oggetto viene passato al delegato EndReceive(IAsyncResult) al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che fa riferimento alla lettura asincrona.

Eccezioni

buffer è null.

Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.

Il Socket è stato chiuso.

offset è minore di 0.

-oppure-

offset è maggiore della lunghezza di buffer.

-oppure-

size è minore di 0.

-oppure-

size è maggiore della lunghezza di buffer meno il valore del parametro offset.

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 .

È possibile passare un callback che implementa AsyncCallback a BeginReceive per ricevere una notifica sul completamento dell'operazione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback verrà eseguito inline, durante la chiamata a BeginReceive. 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 BeginReceive metodo .

L'operazione asincrona BeginReceive deve essere completata chiamando il EndReceive metodo . In genere, il metodo viene richiamato dal AsyncCallback delegato. EndReceive blocca il thread chiamante fino al completamento dell'operazione.

Chiudere per Socket annullare un oggetto in sospeso BeginReceive. Quando il Close metodo viene chiamato mentre è in corso un'operazione asincrona, viene chiamato il callback fornito al BeginReceive metodo . Una chiamata successiva al EndReceive 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

Tutte le operazioni di I/O avviate da un determinato thread vengono annullate quando il thread viene chiuso. Un'operazione asincrona in sospeso può avere esito negativo se il thread viene chiuso prima del completamento dell'operazione.

Nota

state è una creazione di un'istanza di una classe definita dall'utente.

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

Si applica a

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Parametri

buffer
Byte[]

Matrice di tipo Byte che costituisce la posizione di archiviazione per i dati ricevuti.

offset
Int32

Posizione in base zero nel parametro bufferin cui memorizzare i dati ricevuti.

size
Int32

Numero di byte da ricevere.

socketFlags
SocketFlags

Combinazione bit per bit dei valori di SocketFlags.

callback
AsyncCallback

Delegato AsyncCallback cui fa riferimento il metodo da richiamare al completamento dell'operazione.

state
Object

Oggetto definito dall'utente contenente informazioni sull'operazione di ricezione. Questo oggetto viene passato al delegato EndReceive(IAsyncResult) al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che fa riferimento alla lettura asincrona.

Eccezioni

buffer è null.

Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.

Il Socket è stato chiuso.

offset è minore di 0.

-oppure-

offset è maggiore della lunghezza di buffer.

-oppure-

size è minore di 0.

-oppure-

size è maggiore della lunghezza di buffer meno il valore del parametro offset.

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 .

È possibile passare un callback che implementa AsyncCallback a BeginReceive per ricevere una notifica sul completamento dell'operazione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback verrà eseguito inline, durante la chiamata a BeginReceive. 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 BeginReceive metodo .

L'operazione asincrona BeginReceive deve essere completata chiamando il EndReceive metodo . In genere, il metodo viene richiamato dal AsyncCallback delegato. EndReceive blocca il thread chiamante fino al completamento dell'operazione.

Chiudere per Socket annullare un oggetto in sospeso BeginReceive. Quando il Close metodo viene chiamato mentre è in corso un'operazione asincrona, viene chiamato il callback fornito al BeginReceive metodo . Una chiamata successiva al EndReceive 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

Tutte le operazioni di I/O avviate da un determinato thread vengono annullate quando il thread viene chiuso. Un'operazione asincrona in sospeso può avere esito negativo se il thread viene chiuso prima del completamento dell'operazione.

Nota

state è una creazione di un'istanza di una classe definita dall'utente.

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

Si applica a

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Parametri

buffers
IList<ArraySegment<Byte>>

Matrice di tipo Byte che costituisce la posizione di archiviazione per i dati ricevuti.

socketFlags
SocketFlags

Combinazione bit per bit dei valori di SocketFlags.

callback
AsyncCallback

Delegato AsyncCallback cui fa riferimento il metodo da richiamare al completamento dell'operazione.

state
Object

Oggetto definito dall'utente contenente informazioni sull'operazione di ricezione. Questo oggetto viene passato al delegato EndReceive(IAsyncResult) al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che fa riferimento alla lettura asincrona.

Eccezioni

buffer è null.

Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.

Il Socket è stato chiuso.

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 Taskequivalenti basati su base.

È possibile passare un callback che implementa AsyncCallback a BeginReceive per ricevere una notifica sul completamento dell'operazione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback verrà eseguito inline, durante la chiamata a BeginReceive. 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 BeginReceive metodo .

L'operazione asincrona BeginReceive deve essere completata chiamando il EndReceive metodo . In genere, il metodo viene richiamato dal AsyncCallback delegato. EndReceive blocca il thread chiamante fino al completamento dell'operazione.

Chiudere l'oggetto Socket per annullare un oggetto in sospeso BeginReceive. Quando il Close metodo viene chiamato mentre un'operazione asincrona è in corso, viene chiamato il BeginReceive callback fornito al metodo. Una chiamata successiva al EndReceive 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

Tutti gli I/O avviati da un determinato thread vengono annullati quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.

Nota

state è un'istanza di una classe definita dall'utente.

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

Si applica a

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Inizia a ricevere dati in modalità asincrona da un Socket connesso.

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Parametri

buffers
IList<ArraySegment<Byte>>

Matrice di tipo Byte che costituisce la posizione di archiviazione per i dati ricevuti.

socketFlags
SocketFlags

Combinazione bit per bit dei valori di SocketFlags.

errorCode
SocketError

Oggetto SocketError che memorizza l'errore del socket.

callback
AsyncCallback

Delegato AsyncCallback cui fa riferimento il metodo da richiamare al completamento dell'operazione.

state
Object

Oggetto definito dall'utente contenente informazioni sull'operazione di ricezione. Questo oggetto viene passato al delegato EndReceive(IAsyncResult) al completamento dell'operazione.

Restituisce

Oggetto IAsyncResult che fa riferimento alla lettura asincrona.

Eccezioni

buffer è null.

Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.

Il Socket è stato chiuso.

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 Taskequivalenti basati su base.

È possibile passare un callback che implementa AsyncCallback a BeginReceive per ricevere una notifica sul completamento dell'operazione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback verrà eseguito inline, durante la chiamata a BeginReceive. 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 BeginReceive metodo .

L'operazione asincrona BeginReceive deve essere completata chiamando il EndReceive metodo . In genere, il metodo viene richiamato dal AsyncCallback delegato. EndReceive blocca il thread chiamante fino al completamento dell'operazione.

Chiudere l'oggetto Socket per annullare un oggetto in sospeso BeginReceive. Quando il Close metodo viene chiamato mentre un'operazione asincrona è in corso, viene chiamato il BeginReceive callback fornito al metodo. Una chiamata successiva al EndReceive 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

Tutti gli I/O avviati da un determinato thread vengono annullati quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.

Nota

state è un'istanza di una classe definita dall'utente.

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

Si applica a