UdpClient.SendAsync Metodo

Definizione

Invia un datagramma UDP in modo asincrono a un host remoto.

Overload

Nome Descrizione
SendAsync(Byte[], Int32)

Invia un datagramma UDP in modo asincrono a un host remoto.

SendAsync(Byte[], Int32, IPEndPoint)

Invia un datagramma UDP in modo asincrono a un host remoto.

SendAsync(Byte[], Int32, String, Int32)

Invia un datagramma UDP in modo asincrono a un host remoto.

SendAsync(Byte[], Int32)

Invia un datagramma UDP in modo asincrono a un host remoto.

public:
 System::Threading::Tasks::Task<int> ^ SendAsync(cli::array <System::Byte> ^ datagram, int bytes);
public System.Threading.Tasks.Task<int> SendAsync(byte[] datagram, int bytes);
member this.SendAsync : byte[] * int -> System.Threading.Tasks.Task<int>
Public Function SendAsync (datagram As Byte(), bytes As Integer) As Task(Of Integer)

Parametri

datagram
Byte[]

Matrice di tipo Byte che specifica il datagramma UDP che si intende inviare come matrice di byte.

bytes
Int32

Numero di byte nel datagramma.

Valori restituiti

Restituisce Task<TResult>.

Eccezioni

datagram è null.

Ha UdpClient già stabilito un host remoto predefinito.

L'oggetto UdpClient è chiuso.

Si è verificato un errore durante l'accesso al socket.

Commenti

Questo overload invia i datagrammi all'host remoto stabilito nel Connect metodo . Se non si chiama prima di chiamare Connect questo overload, il metodo genererà un'eccezione SocketException. Se si riceve un SocketExceptionoggetto , usare SocketException.ErrorCode per ottenere il codice di errore specifico. Dopo aver ottenuto questo codice, è possibile fare riferimento alla documentazione relativa al codice di errore dell'API Windows Sockets versione 2 per una descrizione dettagliata dell'errore.

Se si desidera inviare datagrammi a un host remoto diverso, è necessario chiamare il Connect metodo e specificare l'host remoto desiderato. Usare uno degli altri SendAsync overload del metodo per inviare datagrammi a un indirizzo di trasmissione.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Send(Byte[], Int32).

Si applica a

SendAsync(Byte[], Int32, IPEndPoint)

Invia un datagramma UDP in modo asincrono a un host remoto.

public:
 System::Threading::Tasks::Task<int> ^ SendAsync(cli::array <System::Byte> ^ datagram, int bytes, System::Net::IPEndPoint ^ endPoint);
public System.Threading.Tasks.Task<int> SendAsync(byte[] datagram, int bytes, System.Net.IPEndPoint endPoint);
member this.SendAsync : byte[] * int * System.Net.IPEndPoint -> System.Threading.Tasks.Task<int>
Public Function SendAsync (datagram As Byte(), bytes As Integer, endPoint As IPEndPoint) As Task(Of Integer)

Parametri

datagram
Byte[]

Matrice di tipo Byte che specifica il datagramma UDP che si intende inviare come matrice di byte.

bytes
Int32

Numero di byte nel datagramma.

endPoint
IPEndPoint

Oggetto IPEndPoint che rappresenta l'host e la porta a cui inviare il datagramma.

Valori restituiti

Restituisce Task<TResult>.

Eccezioni

datagram è null.

UdpClient ha già stabilito un host remoto predefinito.

Si è verificato un errore durante l'accesso al socket.

Commenti

Questo metodo invia i datagrammi all'endpoint specificato. Prima di chiamare questo overload, è necessario creare un IPEndPoint oggetto usando l'indirizzo IP e il numero di porta dell'host remoto a cui verranno recapitati i datagrammi. È possibile inviare datagrammi all'indirizzo di trasmissione predefinito, 255.255.255.255, specificando SocketOptionName.Broadcast per la Address proprietà di IPEndPoint. Dopo aver creato questo IPEndPointoggetto , passarlo a questo metodo come endPoint parametro .

Se si desidera inviare datagrammi a qualsiasi altro indirizzo di trasmissione, usare il Client metodo per ottenere l'oggetto sottostante Sockete impostare l'opzione socket su SocketOptionName.Broadcast. È anche possibile ripristinare l'uso della Socket classe .

Avvertimento

Non fornire un endPoint parametro a questo metodo se è già stato stabilito un host remoto con il Connect metodo . In questo caso, questo metodo genererà un'eccezione SocketException. Se si riceve un SocketExceptionoggetto , usare SocketException.ErrorCode per ottenere il codice di errore specifico. Dopo aver ottenuto questo codice, è possibile fare riferimento alla documentazione relativa al codice di errore dell'API Windows Sockets versione 2 per una descrizione dettagliata dell'errore.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Send(Byte[], Int32, IPEndPoint).

Si applica a

SendAsync(Byte[], Int32, String, Int32)

Invia un datagramma UDP in modo asincrono a un host remoto.

public:
 System::Threading::Tasks::Task<int> ^ SendAsync(cli::array <System::Byte> ^ datagram, int bytes, System::String ^ hostname, int port);
public System.Threading.Tasks.Task<int> SendAsync(byte[] datagram, int bytes, string hostname, int port);
member this.SendAsync : byte[] * int * string * int -> System.Threading.Tasks.Task<int>
Public Function SendAsync (datagram As Byte(), bytes As Integer, hostname As String, port As Integer) As Task(Of Integer)

Parametri

datagram
Byte[]

Matrice di tipo Byte che specifica il datagramma UDP che si intende inviare come matrice di byte.

bytes
Int32

Numero di byte nel datagramma.

hostname
String

Nome dell'host remoto a cui si intende inviare il datagramma.

port
Int32

Numero di porta remota con cui si intende comunicare.

Valori restituiti

Restituisce Task<TResult>.

Eccezioni

datagram è null.

Ha UdpClient già stabilito un host remoto predefinito.

L'oggetto UdpClient è chiuso.

Si è verificato un errore durante l'accesso al socket.

Commenti

Questo metodo invia datagrammi ai valori specificati dai hostname parametri e port . È possibile inviare datagrammi all'indirizzo di trasmissione predefinito specificando "255.255.255.255" per il valore del hostname parametro.

Se si desidera inviare datagrammi a qualsiasi altro indirizzo di trasmissione, usare il Client metodo per ottenere l'oggetto sottostante Sockete impostare l'opzione socket su SocketOptionName.Broadcast. È anche possibile ripristinare l'uso della Socket classe .

Avvertimento

Non specificare un nome host o un numero di porta a questo metodo se è già stato stabilito un host remoto con il Connect metodo . In questo caso, questo metodo genererà un'eccezione SocketException. Se si riceve un SocketExceptionoggetto , usare SocketException.ErrorCode per ottenere il codice di errore specifico. Dopo aver ottenuto questo codice, è possibile fare riferimento alla documentazione relativa al codice di errore dell'API Windows Sockets versione 2 per una descrizione dettagliata dell'errore.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Send(Byte[], Int32, String, Int32).

Si applica a