UdpClient.SendAsync Método
Definição
Envia um datagrama UDP de maneira assíncrona para um host remoto.Sends a UDP datagram asynchronously to a remote host.
Sobrecargas
| SendAsync(Byte[], Int32) |
Envia um datagrama UDP de maneira assíncrona para um host remoto.Sends a UDP datagram asynchronously to a remote host. |
| SendAsync(Byte[], Int32, IPEndPoint) |
Envia um datagrama UDP de maneira assíncrona para um host remoto.Sends a UDP datagram asynchronously to a remote host. |
| SendAsync(Byte[], Int32, String, Int32) |
Envia um datagrama UDP de maneira assíncrona para um host remoto.Sends a UDP datagram asynchronously to a remote host. |
SendAsync(Byte[], Int32)
Envia um datagrama UDP de maneira assíncrona para um host remoto.Sends a UDP datagram asynchronously to a remote host.
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)
Parâmetros
- datagram
- Byte[]
Uma matriz do tipo Byte que especifica o datagrama UDP que você pretende enviar, representado como uma matriz de bytes.An array of type Byte that specifies the UDP datagram that you intend to send represented as an array of bytes.
- bytes
- Int32
O número de bytes no datagrama.The number of bytes in the datagram.
Retornos
Retorna Task<TResult>.Returns Task<TResult>.
Exceções
dgram é null.dgram is null.
O UdpClient já estabeleceu um host remoto padrão.The UdpClient has already established a default remote host.
Ocorreu um erro ao acessar o soquete.An error occurred when accessing the socket.
Comentários
Essa sobrecarga envia datagrams para o host remoto estabelecido no Connect método.This overload sends datagrams to the remote host established in the Connect method. Se você não chamar Connect antes de chamar essa sobrecarga, o método gerará um SocketException .If you do not call Connect before calling this overload, the method will throw a SocketException. Se você receber um SocketException , use SocketException.ErrorCode para obter o código de erro específico.If you receive a SocketException, use SocketException.ErrorCode to obtain the specific error code. Depois de obter esse código, você pode consultar a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.Once you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.
Se desejar enviar datagrams para um host remoto diferente, você deverá chamar o Connect método e especificar o host remoto desejado.If you want to send datagrams to a different remote host, you must call the Connect method and specify the desired remote host. Use qualquer uma das outras SendAsync sobrecargas de método para enviar datagrams a um endereço de difusão.Use either of the other SendAsync method overloads to send datagrams to a broadcast address.
Aplica-se a
SendAsync(Byte[], Int32, IPEndPoint)
Envia um datagrama UDP de maneira assíncrona para um host remoto.Sends a UDP datagram asynchronously to a remote host.
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)
Parâmetros
- datagram
- Byte[]
Uma matriz do tipo Byte que especifica o datagrama UDP que você pretende enviar, representado como uma matriz de bytes.An array of type Byte that specifies the UDP datagram that you intend to send represented as an array of bytes.
- bytes
- Int32
O número de bytes no datagrama.The number of bytes in the datagram.
- endPoint
- IPEndPoint
Um IPEndPoint que representa o host e a porta para os quais o datagrama será enviado.An IPEndPoint that represents the host and port to which to send the datagram.
Retornos
Retorna Task<TResult>.Returns Task<TResult>.
Exceções
dgram é null.dgram is null.
O UdpClient já estabeleceu um host remoto padrão.UdpClient has already established a default remote host.
Ocorreu um erro ao acessar o soquete.An error occurred when accessing the socket.
Comentários
Esse método envia datagrams para o ponto de extremidade especificado.This method sends datagrams to the specified endpoint. Antes de chamar essa sobrecarga, você deve primeiro criar um IPEndPoint usando o endereço IP e o número da porta do host remoto para o qual seus datagramas serão entregues.Before calling this overload, you must first create an IPEndPoint using the IP address and port number of the remote host to which your datagrams will be delivered. Você pode enviar datagrams para o endereço de difusão padrão, 255.255.255.255, especificando SocketOptionName.Broadcast para a Address Propriedade do IPEndPoint .You can send datagrams to the default broadcast address, 255.255.255.255, by specifying SocketOptionName.Broadcast for the Address property of the IPEndPoint. Depois de ter criado isso IPEndPoint , passe-o para esse método como o endPoint parâmetro.After you have created this IPEndPoint, pass it to this method as the endPoint parameter.
Se você quiser enviar datagrams para qualquer outro endereço de difusão, use o Client método para obter o subjacente Socket e defina a opção de soquete como SocketOptionName.Broadcast .If you want to send datagrams to any other broadcast address, use the Client method to obtain the underlying Socket, and set the socket option to SocketOptionName.Broadcast. Você também pode reverter para usar a Socket classe.You can also revert to using the Socket class.
Aviso
Não forneça um endPoint parâmetro para esse método se você já tiver estabelecido um host remoto com o Connect método.Do not provide an endPoint parameter to this method if you have already established a remote host with the Connect method. Se você fizer isso, esse método gerará um SocketException .If you do, this method will throw a SocketException. Se você receber um SocketException , use SocketException.ErrorCode para obter o código de erro específico.If you receive a SocketException, use SocketException.ErrorCode to obtain the specific error code. Depois de obter esse código, você pode consultar a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.Once you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.
Aplica-se a
SendAsync(Byte[], Int32, String, Int32)
Envia um datagrama UDP de maneira assíncrona para um host remoto.Sends a UDP datagram asynchronously to a remote host.
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)
Parâmetros
- datagram
- Byte[]
Uma matriz do tipo Byte que especifica o datagrama UDP que você pretende enviar, representado como uma matriz de bytes.An array of type Byte that specifies the UDP datagram that you intend to send represented as an array of bytes.
- bytes
- Int32
O número de bytes no datagrama.The number of bytes in the datagram.
- hostname
- String
O nome do host remoto para o qual você pretende enviar o datagrama.The name of the remote host to which you intend to send the datagram.
- port
- Int32
O número da porta remota com a qual você pretende se comunicar.The remote port number with which you intend to communicate.
Retornos
Retorna Task<TResult>.Returns Task<TResult>.
Exceções
dgram é null.dgram is null.
O UdpClient já estabeleceu um host remoto padrão.The UdpClient has already established a default remote host.
Ocorreu um erro ao acessar o soquete.An error occurred when accessing the socket.
Comentários
Esse método envia datagrams para os valores especificados pelos hostname port parâmetros e.This method sends datagrams to the values specified by the hostname and port parameters. Você pode enviar datagrams para o endereço de difusão padrão especificando "255.255.255.255" para o hostname valor do parâmetro.You can send datagrams to the default broadcast address by specifying "255.255.255.255" for the hostname parameter value.
Se você quiser enviar datagrams para qualquer outro endereço de difusão, use o Client método para obter o subjacente Socket e defina a opção de soquete como SocketOptionName.Broadcast .If you want to send datagrams to any other broadcast address, use the Client method to obtain the underlying Socket, and set the socket option to SocketOptionName.Broadcast. Você também pode reverter para usar a Socket classe.You can also revert to using the Socket class.
Aviso
Não forneça um nome de host ou número de porta a esse método se você já tiver estabelecido um host remoto com o Connect método.Do not provide a host name or port number to this method if you have already established a remote host with the Connect method. Se você fizer isso, esse método gerará um SocketException .If you do, this method will throw a SocketException. Se você receber um SocketException , use SocketException.ErrorCode para obter o código de erro específico.If you receive a SocketException, use SocketException.ErrorCode to obtain the specific error code. Depois de obter esse código, você pode consultar a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.Once you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.