Socket.BeginReceive 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.
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket.
Overload
| Nome | Descrizione |
|---|---|
| BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket. |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket.
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 rappresenta il percorso di archiviazione per i dati ricevuti.
- offset
- Int32
Posizione in base zero nel parametro in corrispondenza del buffer quale archiviare i dati ricevuti.
- size
- Int32
Numero di byte da ricevere.
- socketFlags
- SocketFlags
Combinazione bit per bit dei SocketFlags valori.
- callback
- AsyncCallback
Delegato AsyncCallback che fa riferimento al metodo da richiamare al termine dell'operazione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di ricezione. Questo oggetto viene passato al EndReceive(IAsyncResult) delegato al termine 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.
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 offset parametro.
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à dell'oggetto IAsyncResult per ottenere l'oggetto di 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.
Socket Chiudere per annullare un oggetto in sospesoBeginReceive. 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à un'eccezione ObjectDisposedException (prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Tutte le operazioni di I/O avviate da un determinato thread vengono annullate quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.
Annotazioni
state è un'istanza di una classe definita dall'utente.
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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- 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
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket.
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 rappresenta il percorso di archiviazione per i dati ricevuti.
- offset
- Int32
Posizione in buffer in cui archiviare i dati ricevuti.
- size
- Int32
Numero di byte da ricevere.
- socketFlags
- SocketFlags
Combinazione bit per bit dei SocketFlags valori.
- errorCode
- SocketError
Oggetto SocketError che archivia l'errore socket.
- callback
- AsyncCallback
Delegato AsyncCallback che fa riferimento al metodo da richiamare al termine dell'operazione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di ricezione. Questo oggetto viene passato al EndReceive(IAsyncResult) delegato al termine 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.
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 offset parametro.
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à dell'oggetto IAsyncResult per ottenere l'oggetto di 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.
Socket Chiudere per annullare un oggetto in sospesoBeginReceive. 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à un'eccezione ObjectDisposedException (prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Tutte le operazioni di I/O avviate da un determinato thread vengono annullate quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.
Annotazioni
state è un'istanza di una classe definita dall'utente.
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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- 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
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket.
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 rappresenta il percorso di archiviazione per i dati ricevuti.
- socketFlags
- SocketFlags
Combinazione bit per bit dei SocketFlags valori.
- callback
- AsyncCallback
Delegato AsyncCallback che fa riferimento al metodo da richiamare al termine dell'operazione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di ricezione. Questo oggetto viene passato al EndReceive(IAsyncResult) delegato al termine dell'operazione.
Restituisce
Oggetto IAsyncResult che fa riferimento alla lettura asincrona.
Eccezioni
buffers è null.
Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.
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 .
È 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à dell'oggetto IAsyncResult per ottenere l'oggetto di 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.
Socket Chiudere per annullare un oggetto in sospesoBeginReceive. 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à un'eccezione ObjectDisposedException (prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Tutte le operazioni di I/O avviate da un determinato thread vengono annullate quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.
Annotazioni
state è un'istanza di una classe definita dall'utente.
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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- 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
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Inizia a ricevere i dati in modo asincrono da un oggetto connesso Socket.
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 rappresenta il percorso di archiviazione per i dati ricevuti.
- socketFlags
- SocketFlags
Combinazione bit per bit dei SocketFlags valori.
- errorCode
- SocketError
Oggetto SocketError che archivia l'errore socket.
- callback
- AsyncCallback
Delegato AsyncCallback che fa riferimento al metodo da richiamare al termine dell'operazione.
- state
- Object
Oggetto definito dall'utente che contiene informazioni sull'operazione di ricezione. Questo oggetto viene passato al EndReceive(IAsyncResult) delegato al termine dell'operazione.
Restituisce
Oggetto IAsyncResult che fa riferimento alla lettura asincrona.
Eccezioni
buffers è null.
Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.
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 .
È 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à dell'oggetto IAsyncResult per ottenere l'oggetto di 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.
Socket Chiudere per annullare un oggetto in sospesoBeginReceive. 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à un'eccezione ObjectDisposedException (prima di .NET 7) o un SocketException oggetto (in .NET 7+) per indicare che l'operazione è stata annullata.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Tutte le operazioni di I/O avviate da un determinato thread vengono annullate quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.
Annotazioni
state è un'istanza di una classe definita dall'utente.
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
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- 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