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)

Source:
UDPClient.cs
Source:
UDPClient.cs
Source:
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 套接字版本 2 API 错误代码 文档,获取错误的详细说明。

如果要将数据报发送到其他远程主机,则必须调用 Connect 方法并指定所需的远程主机。 使用其他 SendAsync 任一方法重载将数据报发送到广播地址。

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(Byte[], Int32)异常。

适用于

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Source:
UDPClient.cs
Source:
UDPClient.cs
Source:
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)

Source:
UDPClient.cs
Source:
UDPClient.cs
Source:
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 类。

警告

如果已使用 Connect 方法建立了远程主机,请不要为此方法提供endPoint参数。 如果这样做,此方法将引发 SocketException。 如果收到 SocketException,请使用 SocketException.ErrorCode 获取特定的错误代码。 获取此代码后,可以参阅 Windows 套接字版本 2 API 错误代码 文档,获取错误的详细说明。

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(Byte[], Int32, IPEndPoint)异常。

适用于

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

Source:
UDPClient.cs
Source:
UDPClient.cs
Source:
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 已建立默认远程主机,并且 endPoint 不是 null

访问套接字时出错。

取消令牌已取消。 此异常存储在返回的任务中。

适用于

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

Source:
UDPClient.cs
Source:
UDPClient.cs
Source:
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 套接字版本 2 API 错误代码 文档,获取错误的详细说明。

此方法将存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 Send(Byte[], Int32, String, Int32)异常。

适用于

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

Source:
UDPClient.cs
Source:
UDPClient.cs
Source:
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>

类型的 ByteReadOnlyMemory<T>指定要发送的 UDP 数据报。

hostname
String

要向其发送数据报的远程主机的名称。

port
Int32

要与之通信的远程端口号。

cancellationToken
CancellationToken

要监视取消请求的标记。 默认值为 None。

返回

一个 ValueTask<TResult> ,它表示异步发送操作。 其 Result 属性的值包含发送的字节数。

例外

UdpClient 已建立默认远程主机。

访问套接字时出错。

取消令牌已取消。 此异常存储在返回的任务中。

适用于