UdpClient.SendAsync Metoda

Definicja

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

Przeciążenia

SendAsync(Byte[], Int32)

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

SendAsync(Byte[], Int32, IPEndPoint)

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

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

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

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

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

SendAsync(Byte[], Int32)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

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[]

Tablica typu Byte określająca datagram UDP, który ma być wysyłany jako tablica bajtów.

bytes
Int32

Liczba bajtów w datagramie.

Zwraca

Zwraca wartość Task<TResult>.

Wyjątki

dgram to null.

Element UdpClient już ustanowił domyślny host zdalny.

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Uwagi

To przeciążenie wysyła datagramy do hosta zdalnego ustanowionego w metodzie Connect . Jeśli nie wywołasz wywołania Connect tego przeciążenia przed wywołaniem tego przeciążenia, metoda zgłosi błąd SocketException. Jeśli zostanie wyświetlony komunikat SocketException, użyj polecenia SocketException.ErrorCode , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu możesz zapoznać się z dokumentacją kodu błędu interfejsu API gniazd systemu Windows w wersji 2 , aby uzyskać szczegółowy opis błędu.

Jeśli chcesz wysłać datagramy do innego hosta zdalnego, musisz wywołać metodę Connect i określić żądany host zdalny. Użyj jednego z innych SendAsync przeciążeń metody, aby wysyłać datagramy do adresu emisji.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Send(Byte[], Int32)usługę .

Dotyczy

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

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 Typ ReadOnlyMemory<T> określający datagram UDP, który ma być wysyłany.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Wartość domyślna to Brak.

Zwraca

Element ValueTask<TResult> reprezentujący operację wysyłania asynchronicznego. Wartość właściwości Result zawiera liczbę wysłanych bajtów.

Wyjątki

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Dotyczy

SendAsync(Byte[], Int32, IPEndPoint)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

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[]

Tablica typu Byte określająca datagram UDP, który ma być wysyłany jako tablica bajtów.

bytes
Int32

Liczba bajtów w datagramie.

endPoint
IPEndPoint

Element IPEndPoint reprezentujący hosta i port, do którego ma być wysyłany datagram.

Zwraca

Zwraca wartość Task<TResult>.

Wyjątki

dgram to null.

UdpClient już nawiązał domyślny host zdalny.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Uwagi

Ta metoda wysyła datagramy do określonego punktu końcowego. Przed wywołaniem tego przeciążenia należy najpierw utworzyć IPEndPoint przy użyciu adresu IP i numeru portu hosta zdalnego, do którego zostaną dostarczone twoje datagramy. Datagramy można wysyłać do domyślnego adresu emisji 255.255.255.255, określając SocketOptionName.Broadcast właściwość AddressIPEndPoint. Po utworzeniu tej IPEndPointmetody przekaż ją do tej metody jako parametr.endPoint

Jeśli chcesz wysłać datagramy do dowolnego innego adresu emisji, użyj Client metody , aby uzyskać bazowy Socketelement , i ustaw opcję gniazda na SocketOptionName.Broadcast. Możesz również przywrócić klasę Socket .

Ostrzeżenie

Nie należy podać parametru endPoint tej metody, jeśli host zdalny został już ustanowiony za pomocą Connect metody . Jeśli to zrobisz, ta metoda zgłosi błąd SocketException. Jeśli zostanie wyświetlony komunikat SocketException, użyj polecenia SocketException.ErrorCode , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu możesz zapoznać się z dokumentacją kodu błędu interfejsu API gniazd systemu Windows w wersji 2 , aby uzyskać szczegółowy opis błędu.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Send(Byte[], Int32, IPEndPoint)usługę .

Dotyczy

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

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 Typ ReadOnlyMemory<T> określający datagram UDP, który ma być wysyłany.

endPoint
IPEndPoint

Element IPEndPoint reprezentujący hosta i port, do którego ma być wysyłany datagram.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Wartość domyślna to Brak.

Zwraca

Element ValueTask<TResult> reprezentujący operację wysyłania asynchronicznego. Wartość właściwości Result zawiera liczbę wysłanych bajtów.

Wyjątki

UdpClient już ustanowić domyślny host zdalny i endPoint nie nulljest .

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Dotyczy

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

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

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[]

Tablica typu Byte określająca datagram UDP, który ma być wysyłany jako tablica bajtów.

bytes
Int32

Liczba bajtów w datagramie.

hostname
String

Nazwa hosta zdalnego, do którego zamierzasz wysłać datagram.

port
Int32

Numer portu zdalnego, z którym zamierzasz się komunikować.

Zwraca

Zwraca wartość Task<TResult>.

Wyjątki

dgram to null.

Element UdpClient już ustanowił domyślny host zdalny.

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Uwagi

Ta metoda wysyła datagramy do wartości określonych przez hostname parametry i port . Datagramy można wysyłać do domyślnego adresu emisji, określając wartość parametru hostname "255.255.255.255".

Jeśli chcesz wysłać datagramy do dowolnego innego adresu emisji, użyj Client metody , aby uzyskać bazowy Socketelement , i ustaw opcję gniazda na SocketOptionName.Broadcast. Możesz również przywrócić klasę Socket .

Ostrzeżenie

Nie należy podawać nazwy hosta ani numeru portu do tej metody, jeśli host zdalny został już ustanowiony za pomocą Connect metody . Jeśli to zrobisz, ta metoda zgłosi błąd SocketException. Jeśli zostanie wyświetlony komunikat SocketException, użyj polecenia SocketException.ErrorCode , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu możesz zapoznać się z dokumentacją kodu błędu interfejsu API gniazd systemu Windows w wersji 2 , aby uzyskać szczegółowy opis błędu.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Send(Byte[], Int32, String, Int32)usługę .

Dotyczy

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

Źródło:
UDPClient.cs
Źródło:
UDPClient.cs
Źródło:
UDPClient.cs

Przesyła datagram UDP asynchronicznie do hosta zdalnego.

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 Typ ReadOnlyMemory<T> określający datagram UDP, który ma być wysyłany.

hostname
String

Nazwa hosta zdalnego, do którego zamierzasz wysłać datagram.

port
Int32

Numer portu zdalnego, z którym zamierzasz się komunikować.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania. Wartość domyślna to Brak.

Zwraca

Element ValueTask<TResult> reprezentujący operację wysyłania asynchronicznego. Wartość właściwości Result zawiera liczbę wysłanych bajtów.

Wyjątki

Element UdpClient już ustanowił domyślny host zdalny.

Element UdpClient jest zamknięty.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwróconym zadaniu.

Dotyczy