Sdílet prostřednictvím


UdpClient.SendAsync Metoda

Definice

Odesílá datagram UDP asynchronně vzdálenému hostiteli.

Přetížení

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

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 určující datagram UDP, který chcete odeslat, reprezentovaný jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu.

Návraty

Vrací objekt Task<TResult>.

Výjimky

dgram je null.

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

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 nevoláte Connect před voláním tohoto přetížení, metoda vyvolá SocketException. Pokud se zobrazí SocketException, použijte SocketException.ErrorCode k získání konkrétního kódu chyby. Po získání tohoto kódu najdete podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

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 přetížení metody SendAsync .

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Send(Byte[], Int32).

Platí pro

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

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>

Typ ReadOnlyMemory<T>Byte určující datagram UDP, který chcete odeslat.

cancellationToken
CancellationToken

Token, který se má monitorovat pro žádosti o zrušení. Výchozí hodnota je žádné.

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 ve vrácené úloze.

Platí pro

SendAsync(Byte[], Int32, IPEndPoint)

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 určující datagram UDP, který chcete odeslat, reprezentovaný jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu.

endPoint
IPEndPoint

Představuje IPEndPoint hostitele a port, na který se má datagram odeslat.

Návraty

Vrací objekt Task<TResult>.

Výjimky

dgram 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 ip adresu a číslo portu vzdáleného hostitele, kterému budou datagramy doručovány. Zadáním vlastnosti IPEndPointmůžete odesílat datagramy na výchozí adresu všesměrového vysílání 255.255.255.255.SocketOptionName.BroadcastAddress Po vytvoření ho IPEndPointpředejte této metodě jako endPoint parametr.

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

Upozornění

Pokud jste již vytvořili vzdáleného endPoint hostitele pomocí Connect metody, nezadáte parametr této metody. Pokud to uděláte, tato metoda vyvolá SocketException. Pokud se zobrazí SocketException, použijte SocketException.ErrorCode k získání konkrétního kódu chyby. Po získání tohoto kódu najdete podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Send(Byte[], Int32, IPEndPoint).

Platí pro

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

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>

Typ ReadOnlyMemory<T>Byte určující datagram UDP, který chcete odeslat.

endPoint
IPEndPoint

Představuje IPEndPoint hostitele a port, na který se má datagram odeslat.

cancellationToken
CancellationToken

Token, který se má monitorovat pro žádosti o zrušení. Výchozí hodnota je žádné.

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ž vytvořil 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 ve vrácené úloze.

Platí pro

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

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

Odesílá 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 určující datagram UDP, který chcete odeslat, reprezentovaný jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu.

hostname
String

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

port
Int32

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

Návraty

Vrací objekt Task<TResult>.

Výjimky

dgram je null.

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

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

Poznámky

Tato metoda odesílá datagramy na hodnoty zadané hostname parametry a port . Datagramy můžete odeslat na výchozí adresu všesměrového 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 metodu Client k získání podkladové Socketadresy a nastavte možnost soketu na SocketOptionName.Broadcast. Můžete se také vrátit k použití Socket třídy.

Upozornění

Pokud jste již vytvořili vzdáleného hostitele pomocí metody, nezadáte pro tuto metodu Connect název hostitele ani číslo portu. Pokud to uděláte, tato metoda vyvolá SocketException. Pokud se zobrazí SocketException, použijte SocketException.ErrorCode k získání konkrétního kódu chyby. Po získání tohoto kódu najdete podrobný popis chyby v dokumentaci k rozhraní API windows Sockets verze 2 .

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Send(Byte[], Int32, String, Int32).

Platí pro

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

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

Odesílá 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>

Typ ReadOnlyMemory<T>Byte určující datagram UDP, který chcete odeslat.

hostname
String

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

port
Int32

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

cancellationToken
CancellationToken

Token, který se má monitorovat pro žádosti o zrušení. Výchozí hodnota je žádné.

Návraty

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

Výjimky

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

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

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

Platí pro