Condividi tramite


Socket.EndSendTo(IAsyncResult) Metodo

Definizione

Termina un invio asincrono in sospeso a una posizione specifica.

public:
 int EndSendTo(IAsyncResult ^ asyncResult);
public int EndSendTo(IAsyncResult asyncResult);
member this.EndSendTo : IAsyncResult -> int
Public Function EndSendTo (asyncResult As IAsyncResult) As Integer

Parametri

asyncResult
IAsyncResult

Oggetto IAsyncResult che archivia le informazioni sullo stato e i dati definiti dall'utente per questa operazione asincrona.

Restituisce

In caso di esito positivo, il numero di byte inviati; in caso contrario, un errore non valido Socket .

Eccezioni

asyncResult è null.

asyncResult non è stato restituito da una chiamata al BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) metodo .

EndSendTo(IAsyncResult) è stato precedentemente chiamato per l'invio asincrono.

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.

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 .

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

Se si usa un protocollo senza connessione, EndSendTo si blocca fino all'invio del datagramma. Se si usa un protocollo orientato alla connessione, EndSendTo si blocca fino a quando non viene inviato il numero di byte richiesto. Non è garantito che i dati inviati vengano visualizzati immediatamente nella rete. Per aumentare l'efficienza della rete, il sistema sottostante può ritardare la trasmissione fino a quando non viene raccolta una quantità significativa di dati in uscita. Un completamento corretto del BeginSendTo metodo significa che il sistema sottostante ha avuto spazio per memorizzare nel buffer i dati per un invio di rete.

Annotazioni

Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico. Dopo aver ottenuto questo codice, fare riferimento alla documentazione relativa al codice di errore dell'API Windows Sockets versione 2 per una descrizione dettagliata dell'errore.

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.

Si applica a