Socket.EndSendTo(IAsyncResult) 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.
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 memorizza informazioni sullo stato e qualsiasi dato definito dall'utente per l'operazione asincrona.
Restituisce
Se ha esito positivo, numero di byte trasmessi. In caso contrario, errore di Socket non valido.
Eccezioni
asyncResult
è null
.
asyncResult
non è stato restituito da una chiamata al metodo BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object).
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 il nuovo sviluppo. Usare invece gli Task
equivalenti basati su base.
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 il datagram non verrà inviato. Se si usa un protocollo orientato alla connessione, EndSendTo verrà bloccato fino all'invio del numero richiesto di byte. Non vi è alcuna garanzia 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 riuscito del BeginSendTo metodo significa che il sistema sottostante ha avuto spazio per bufferre i dati per un invio di rete.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la proprietà per ottenere il SocketException.ErrorCode codice di errore specifico. Dopo aver ottenuto questo codice, vedere la documentazione del codice di errore dell'API Windows Sockets versione 2 per una descrizione dettagliata dell'errore.
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.