UdpClient.SendAsync 方法

定義

將 UDP 資料包非同步傳送至遠端主機。

多載

SendAsync(Byte[], Int32)

將 UDP 資料包非同步傳送至遠端主機。

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

將 UDP 資料包非同步傳送至遠端主機。

SendAsync(Byte[], Int32, IPEndPoint)

將 UDP 資料包非同步傳送至遠端主機。

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

將 UDP 資料包非同步傳送至遠端主機。

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

將 UDP 資料包非同步傳送至遠端主機。

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

將 UDP 資料包非同步傳送至遠端主機。

SendAsync(Byte[], Int32)

來源:
UDPClient.cs
來源:
UDPClient.cs
來源:
UDPClient.cs

將 UDP 資料包非同步傳送至遠端主機。

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)

參數

datagram
Byte[]

Byte 類型的陣列,指定您想傳送的 UDP 資料包,並以位元組陣列表示。

bytes
Int32

資料包中的位元組數目。

傳回

傳回 Task<TResult>

例外狀況

dgramnull

UdpClient 已建立預設遠端主機。

存取通訊端時發生錯誤。

備註

此多載會將數據報傳送至 方法中建立的 Connect 遠端主機。 如果您在呼叫這個多載之前未呼叫 Connect ,方法會擲回 SocketException。 如果您收到 SocketException,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式代碼之後,您可以參考 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

如果您想要將數據報傳送至不同的遠端主機,您必須呼叫 Connect 方法並指定所需的遠端主機。 使用其他 SendAsync 任一方法多載,將數據報傳送至廣播位址。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Send(Byte[], Int32)例外狀況。

適用於

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

來源:
UDPClient.cs
來源:
UDPClient.cs
來源:
UDPClient.cs

將 UDP 資料包非同步傳送至遠端主機。

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)

參數

datagram
ReadOnlyMemory<Byte>

Byte別的 ,ReadOnlyMemory<T>指定您想要傳送的 UDP 數據報。

cancellationToken
CancellationToken

用來監視是否有取消要求的語彙基元。 預設值為 None。

傳回

ValueTask<TResult> 表示異步傳送作業。 其 Result 屬性的值包含傳送的位元元組數目。

例外狀況

存取通訊端時發生錯誤。

取消標記已取消。 此例外狀況會儲存在傳回的工作中。

適用於

SendAsync(Byte[], Int32, IPEndPoint)

來源:
UDPClient.cs
來源:
UDPClient.cs
來源:
UDPClient.cs

將 UDP 資料包非同步傳送至遠端主機。

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)

參數

datagram
Byte[]

Byte 類型的陣列,指定您想傳送的 UDP 資料包,並以位元組陣列表示。

bytes
Int32

資料包中的位元組數目。

endPoint
IPEndPoint

IPEndPoint,表示傳送資料包的目標主機和通訊埠。

傳回

傳回 Task<TResult>

例外狀況

dgramnull

UdpClient 已建立預設遠端主機。

存取通訊端時發生錯誤。

備註

這個方法會將數據報傳送至指定的端點。 在呼叫此多載之前,您必須先使用要傳遞資料報之遠端主機的IP位址和埠號碼來建立 IPEndPoint 。 您可以指定 SocketOptionName.BroadcastAddress 的 屬性 IPEndPoint,將數據報傳送至預設廣播位址 255.255.255.255。 建立這個 IPEndPoint之後,請將它傳遞至這個方法做為 endPoint 參數。

如果您要將資料報傳送至任何其他廣播位址,請使用 Client 方法來取得基礎 Socket,並將套接字選項設定為 SocketOptionName.Broadcast。 您也可以還原為使用 Socket 類別。

警告

如果您已經使用 方法建立遠端主機,請勿提供 endPoint 這個方法的參數 Connect 。 如果您這樣做,這個方法會擲回 SocketException。 如果您收到 SocketException,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式代碼之後,您可以參考 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Send(Byte[], Int32, IPEndPoint)例外狀況。

適用於

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

來源:
UDPClient.cs
來源:
UDPClient.cs
來源:
UDPClient.cs

將 UDP 資料包非同步傳送至遠端主機。

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)

參數

datagram
ReadOnlyMemory<Byte>

Byte別的 ,ReadOnlyMemory<T>指定您想要傳送的 UDP 數據報。

endPoint
IPEndPoint

IPEndPoint,表示傳送資料包的目標主機和通訊埠。

cancellationToken
CancellationToken

用來監視是否有取消要求的語彙基元。 預設值為 None。

傳回

ValueTask<TResult> 表示異步傳送作業。 其 Result 屬性的值包含傳送的位元元組數目。

例外狀況

UdpClient 已建立預設遠端主機,而不是 endPointnull

存取通訊端時發生錯誤。

取消標記已取消。 此例外狀況會儲存在傳回的工作中。

適用於

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

來源:
UDPClient.cs
來源:
UDPClient.cs
來源:
UDPClient.cs

將 UDP 資料包非同步傳送至遠端主機。

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)

參數

datagram
Byte[]

Byte 類型的陣列,指定您想傳送的 UDP 資料包,並以位元組陣列表示。

bytes
Int32

資料包中的位元組數目。

hostname
String

您要傳送資料包之目標遠端主機的名稱。

port
Int32

您要用來通訊的遠端連接埠號碼。

傳回

傳回 Task<TResult>

例外狀況

dgramnull

UdpClient 已建立預設遠端主機。

存取通訊端時發生錯誤。

備註

這個方法會將數據報傳送至 和 port 參數所hostname指定的值。 您可以指定參數值的 「255.255.255.255」, hostname 將數據報傳送至預設廣播位址。

如果您要將資料報傳送至任何其他廣播位址,請使用 Client 方法來取得基礎 Socket,並將套接字選項設定為 SocketOptionName.Broadcast。 您也可以還原為使用 Socket 類別。

警告

如果您已經使用 Connect 方法建立遠端主機,請勿提供這個方法的主機名或埠號碼。 如果您這樣做,這個方法會擲回 SocketException。 如果您收到 SocketException,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式代碼之後,您可以參考 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Send(Byte[], Int32, String, Int32)例外狀況。

適用於

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

來源:
UDPClient.cs
來源:
UDPClient.cs
來源:
UDPClient.cs

將 UDP 資料包非同步傳送至遠端主機。

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)

參數

datagram
ReadOnlyMemory<Byte>

ReadOnlyMemory<T>Byte ,指定您想要傳送的 UDP 數據報。

hostname
String

您要傳送資料包之目標遠端主機的名稱。

port
Int32

您要用來通訊的遠端連接埠號碼。

cancellationToken
CancellationToken

用來監視是否有取消要求的語彙基元。 預設值為 None。

傳回

ValueTask<TResult> 表示異步傳送作業。 其 Result 屬性的值包含傳送的位元元組數目。

例外狀況

UdpClient 已建立預設遠端主機。

存取通訊端時發生錯誤。

取消令牌已取消。 此例外狀況會儲存在傳回的工作中。

適用於