Sdílet prostřednictvím


UdpClient.SendAsync Metoda

Definice

Odešle datagram UDP asynchronně vzdálenému hostiteli.

Přetížení

Name Description
SendAsync(Byte[], Int32)

Odešle datagram UDP asynchronně vzdálenému hostiteli.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Odešle datagram UDP asynchronně vzdálenému hostiteli.

SendAsync(Byte[], Int32, IPEndPoint)

Odešle datagram UDP asynchronně vzdálenému hostiteli.

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

Odešle datagram UDP asynchronně vzdálenému hostiteli.

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

Odešle datagram UDP asynchronně vzdálenému hostiteli.

SendAsync(ReadOnlyMemory<Byte>, String, Int32, CancellationToken)

Odešle datagram UDP asynchronně vzdálenému hostiteli.

SendAsync(Byte[], Int32)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP asynchronně vzdálenému hostiteli.

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)

Parametry

datagram
Byte[]

Pole typu Byte , které určuje datovýgram UDP, který chcete odeslat jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu

Návraty

Vrátí Task<TResult>.

Výjimky

datagram je null.

Výchozí UdpClient vzdálený hostitel již vytvořil.

Při přístupu k soketu došlo k chybě.

Poznámky

Toto přetížení odesílá datagramy vzdálenému hostiteli vytvořenému Connect v metodě. Pokud před voláním tohoto přetížení nezavoláte Connect , metoda vyvolá SocketExceptionchybu . Pokud se zobrazí SocketExceptionkód chyby, použijte SocketException.ErrorCode ho k získání konkrétního kódu chyby. Jakmile tento kód získáte, můžete se podívat do dokumentace k chybě rozhraní API verze 2 rozhraní WINDOWS Sockets , kde najdete podrobný popis chyby.

Pokud chcete odesílat datagramy jinému vzdálenému hostiteli, musíte volat metodu Connect a zadat požadovaného vzdáleného hostitele. K odeslání datagramů na adresu všesměrového vysílání použijte některou z dalších SendAsync přetížení metody.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Send(Byte[], Int32).

Platí pro

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP asynchronně vzdálenému hostiteli.

public System.Threading.Tasks.ValueTask<int> SendAsync(ReadOnlyMemory<byte> datagram, System.Threading.CancellationToken cancellationToken = default);
member this.SendAsync : ReadOnlyMemory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendAsync (datagram As ReadOnlyMemory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parametry

datagram
ReadOnlyMemory<Byte>

Byte TypReadOnlyMemory<T>, který určuje datagram UDP, který chcete odeslat.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení. Výchozí hodnota je None.

Návraty

A ValueTask<TResult> , který představuje asynchronní operaci odeslání. Hodnota vlastnosti Result obsahuje počet odeslaných bajtů.

Výjimky

Při přístupu k soketu došlo k chybě.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro

SendAsync(Byte[], Int32, IPEndPoint)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP asynchronně vzdálenému hostiteli.

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);
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)

Parametry

datagram
Byte[]

Pole typu Byte , které určuje datovýgram UDP, který chcete odeslat jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu

endPoint
IPEndPoint

Představuje IPEndPoint hostitele a port, do kterého se má datagram odeslat.

Návraty

Vrátí Task<TResult>.

Výjimky

datagram je null.

UdpClient již vytvořil výchozího vzdáleného hostitele.

Při přístupu k soketu došlo k chybě.

Poznámky

Tato metoda odesílá datagramy do zadaného koncového bodu. Před voláním tohoto přetížení musíte nejprve vytvořit IPEndPoint pomocí IP adresy a čísla portu vzdáleného hostitele, do kterého se budou datagramy doručovat. Datagramy můžete odeslat na výchozí adresu vysílání 255.255.255.255 zadáním SocketOptionName.Broadcast vlastnosti AddressIPEndPoint. Po vytvoření této IPEndPointmetody ji předejte jako endPoint parametr.

Pokud chcete odesílat datagramy na jakoukoli jinou adresu všesměrového vysílání, použijte Client metodu k získání podkladového Socketobjektu a nastavte možnost soketu na SocketOptionName.Broadcast. Můžete se také vrátit k používání Socket třídy.

Výstraha

Neposkytujte endPoint parametr této metody, pokud jste již vytvořili vzdáleného hostitele s metodou Connect . Pokud to uděláte, tato metoda vyvolá SocketException. Pokud se zobrazí SocketExceptionkód chyby, použijte SocketException.ErrorCode ho k získání konkrétního kódu chyby. Jakmile tento kód získáte, můžete se podívat do dokumentace k chybě rozhraní API verze 2 rozhraní WINDOWS Sockets , kde najdete podrobný popis chyby.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Send(Byte[], Int32, IPEndPoint).

Platí pro

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP asynchronně vzdálenému hostiteli.

public System.Threading.Tasks.ValueTask<int> SendAsync(ReadOnlyMemory<byte> datagram, System.Net.IPEndPoint? endPoint, System.Threading.CancellationToken cancellationToken = default);
member this.SendAsync : ReadOnlyMemory<byte> * System.Net.IPEndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendAsync (datagram As ReadOnlyMemory(Of Byte), endPoint As IPEndPoint, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parametry

datagram
ReadOnlyMemory<Byte>

Byte TypReadOnlyMemory<T>, který určuje datagram UDP, který chcete odeslat.

endPoint
IPEndPoint

Představuje IPEndPoint hostitele a port, do kterého se má datagram odeslat.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení. Výchozí hodnota je None.

Návraty

A ValueTask<TResult> , který představuje asynchronní operaci odeslání. Hodnota vlastnosti Result obsahuje počet odeslaných bajtů.

Výjimky

UdpClient již nastavil výchozího vzdáleného hostitele a endPoint není null.

Při přístupu k soketu došlo k chybě.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro

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

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP asynchronně vzdálenému hostiteli.

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);
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)

Parametry

datagram
Byte[]

Pole typu Byte , které určuje datovýgram UDP, který chcete odeslat jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu

hostname
String

Název vzdáleného hostitele, do kterého chcete datagram odeslat.

port
Int32

Číslo vzdáleného portu, se kterým chcete komunikovat.

Návraty

Vrátí Task<TResult>.

Výjimky

datagram je null.

Výchozí UdpClient vzdálený hostitel již vytvořil.

Při přístupu k soketu došlo k chybě.

Poznámky

Tato metoda odesílá datagramy do hodnot určených hostname parametry a port parametry. Datagramy můžete odeslat na výchozí adresu vysílání zadáním hodnoty parametru hostname 255.255.255.255.

Pokud chcete odesílat datagramy na jakoukoli jinou adresu všesměrového vysílání, použijte Client metodu k získání podkladového Socketobjektu a nastavte možnost soketu na SocketOptionName.Broadcast. Můžete se také vrátit k používání Socket třídy.

Výstraha

Neposkytujte pro tuto metodu název hostitele nebo číslo portu, pokud jste již vytvořili vzdáleného hostitele s touto metodou Connect . Pokud to uděláte, tato metoda vyvolá SocketException. Pokud se zobrazí SocketExceptionkód chyby, použijte SocketException.ErrorCode ho k získání konkrétního kódu chyby. Jakmile tento kód získáte, můžete se podívat do dokumentace k chybě rozhraní API verze 2 rozhraní WINDOWS Sockets , kde najdete podrobný popis chyby.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Send(Byte[], Int32, String, Int32).

Platí pro

SendAsync(ReadOnlyMemory<Byte>, String, Int32, CancellationToken)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP asynchronně vzdálenému hostiteli.

public System.Threading.Tasks.ValueTask<int> SendAsync(ReadOnlyMemory<byte> datagram, string? hostname, int port, System.Threading.CancellationToken cancellationToken = default);
member this.SendAsync : ReadOnlyMemory<byte> * string * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Function SendAsync (datagram As ReadOnlyMemory(Of Byte), hostname As String, port As Integer, Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parametry

datagram
ReadOnlyMemory<Byte>

Byte TypReadOnlyMemory<T>, který určuje datagram UDP, který chcete odeslat.

hostname
String

Název vzdáleného hostitele, do kterého chcete datagram odeslat.

port
Int32

Číslo vzdáleného portu, se kterým chcete komunikovat.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení. Výchozí hodnota je None.

Návraty

A ValueTask<TResult> , který představuje asynchronní operaci odeslání. Hodnota vlastnosti Result obsahuje počet odeslaných bajtů.

Výjimky

Výchozí UdpClient vzdálený hostitel již vytvořil.

Při přístupu k soketu došlo k chybě.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Platí pro