Partilhar via


UdpClient.Send Método

Definição

Envia um datagrama UDP para um host remoto.

Sobrecargas

Nome Description
Send(Byte[], Int32, String, Int32)

Envia um datagrama UDP para uma porta especificada em um host remoto especificado.

Send(ReadOnlySpan<Byte>, String, Int32)

Envia um datagrama UDP para uma porta especificada em um host remoto especificado.

Send(Byte[], Int32, IPEndPoint)

Envia um datagrama UDP para o host no ponto de extremidade remoto especificado.

Send(Byte[], Int32)

Envia um datagrama UDP para um host remoto.

Send(ReadOnlySpan<Byte>)

Envia um datagrama UDP para um host remoto.

Send(ReadOnlySpan<Byte>, IPEndPoint)

Envia um datagrama UDP para o host no ponto de extremidade remoto especificado.

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

Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs

Envia um datagrama UDP para uma porta especificada em um host remoto especificado.

public:
 int Send(cli::array <System::Byte> ^ dgram, int bytes, System::String ^ hostname, int port);
public int Send(byte[] dgram, int bytes, string? hostname, int port);
public int Send(byte[] dgram, int bytes, string hostname, int port);
member this.Send : byte[] * int * string * int -> int
Public Function Send (dgram As Byte(), bytes As Integer, hostname As String, port As Integer) As Integer

Parâmetros

dgram
Byte[]

Uma matriz de tipo Byte que especifica o datagrama UDP que você pretende enviar representado como uma matriz de bytes.

bytes
Int32

O número de bytes no datagram.

hostname
String

O nome do host remoto para o qual você pretende enviar o datagram.

port
Int32

O número da porta remota com o qual você pretende se comunicar.

Retornos

O número de bytes enviados.

Exceções

dgram é null.

O UdpClient host remoto padrão já foi estabelecido.

Erro ao acessar o soquete.

Exemplos

O exemplo a seguir demonstra o Send método. Este exemplo usa um nome de host e um número de porta para identificar o host de destino.

UdpClient udpClient = new UdpClient();

Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there");
try{
    udpClient.Send(sendBytes, sendBytes.Length, "www.contoso.com", 11000);
}
catch ( Exception e ){
    Console.WriteLine(e.ToString());	
}
Dim udpClient As New UdpClient()

Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there")
Try
   udpClient.Send(sendBytes, sendBytes.Length, "www.contoso.com", 11000)
Catch e As Exception
   Console.WriteLine(e.ToString())
End Try

Comentários

O Send método envia datagramas para os valores especificados pelo hostname parâmetro e port retorna o número de bytes enviados com êxito. Você pode enviar datagramas para o endereço de difusão padrão especificando "255.255.255.255" para o valor do hostname parâmetro.

Se você quiser enviar datagramas para qualquer outro endereço de transmissão, use o Client método para obter o subjacente Sockete defina a opção de soquete como SocketOptionName.Broadcast. Você também pode reverter para usar a Socket classe.

Observação

Não forneça um nome de host ou um número de porta para esse método se você já tiver estabelecido um host remoto com o Connect método. Se você fizer isso, o Send método lançará um SocketException. Se você receber um SocketException, use SocketException.ErrorCode para obter o código de erro específico. 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.

Confira também

Aplica-se a

Send(ReadOnlySpan<Byte>, String, Int32)

Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs

Envia um datagrama UDP para uma porta especificada em um host remoto especificado.

public:
 int Send(ReadOnlySpan<System::Byte> datagram, System::String ^ hostname, int port);
public int Send(ReadOnlySpan<byte> datagram, string? hostname, int port);
member this.Send : ReadOnlySpan<byte> * string * int -> int
Public Function Send (datagram As ReadOnlySpan(Of Byte), hostname As String, port As Integer) As Integer

Parâmetros

datagram
ReadOnlySpan<Byte>

Um ReadOnlySpan<T> tipo Byte que especifica o datagrama UDP que você pretende enviar.

hostname
String

O nome do host remoto para o qual você pretende enviar o datagram.

port
Int32

O número da porta remota com o qual você pretende se comunicar.

Retornos

O número de bytes enviados.

Exceções

O UdpClient host remoto padrão já foi estabelecido.

Erro ao acessar o soquete.

Aplica-se a

Send(Byte[], Int32, IPEndPoint)

Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs

Envia um datagrama UDP para o host no ponto de extremidade remoto especificado.

public:
 int Send(cli::array <System::Byte> ^ dgram, int bytes, System::Net::IPEndPoint ^ endPoint);
public int Send(byte[] dgram, int bytes, System.Net.IPEndPoint? endPoint);
public int Send(byte[] dgram, int bytes, System.Net.IPEndPoint endPoint);
member this.Send : byte[] * int * System.Net.IPEndPoint -> int
Public Function Send (dgram As Byte(), bytes As Integer, endPoint As IPEndPoint) As Integer

Parâmetros

dgram
Byte[]

Uma matriz de tipo Byte que especifica o datagrama UDP que você pretende enviar, representado como uma matriz de bytes.

bytes
Int32

O número de bytes no datagram.

endPoint
IPEndPoint

Um IPEndPoint que representa o host e a porta para o qual enviar o datagram.

Retornos

O número de bytes enviados.

Exceções

dgram é null.

UdpClient já estabeleceu um host remoto padrão.

Erro ao acessar o soquete.

Exemplos

O exemplo a seguir demonstra o Send método. Este exemplo usa um IPEndPoint para especificar o host de destino.

UdpClient udpClient = new UdpClient();
IPAddress ipAddress = Dns.Resolve("www.contoso.com").AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddress, 11004);	

Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?");
try{
    udpClient.Send(sendBytes, sendBytes.Length, ipEndPoint);
}
catch ( Exception e ){
    Console.WriteLine(e.ToString());	
}
Dim udpClient As New UdpClient()
Dim ipAddress As IPAddress = Dns.Resolve("www.contoso.com").AddressList(0)
Dim ipEndPoint As New IPEndPoint(ipAddress, 11004)

Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there?")
Try
   udpClient.Send(sendBytes, sendBytes.Length, ipEndPoint)
Catch e As Exception
   Console.WriteLine(e.ToString())
End Try

Comentários

O Send método envia datagramas para o ponto de extremidade especificado e retorna o número de bytes enviados com êxito. Antes de chamar essa sobrecarga, primeiro você deve criar um IPEndPoint uso do endereço IP e do número da porta do host remoto para o qual seus datagramas serão entregues. Você pode enviar datagramas para o endereço de difusão padrão, 255.255.255.255, especificando SocketOptionName.Broadcast a Address propriedade do IPEndPoint. Depois de criar isso IPEndPoint, passe-o para o Send método como o endPoint parâmetro.

Se você quiser enviar datagramas para qualquer outro endereço de transmissão, use o Client método para obter o subjacente Sockete defina a opção de soquete como SocketOptionName.Broadcast. Você também pode reverter para usar a Socket classe.

Observação

Não forneça um endPoint parâmetro a esse método se você já tiver estabelecido um host remoto com o Connect método. Se você fizer isso, o Send método lançará um SocketException. Se você receber um SocketException, use SocketException.ErrorCode para obter o código de erro específico. 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.

Confira também

Aplica-se a

Send(Byte[], Int32)

Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs

Envia um datagrama UDP para um host remoto.

public:
 int Send(cli::array <System::Byte> ^ dgram, int bytes);
public int Send(byte[] dgram, int bytes);
member this.Send : byte[] * int -> int
Public Function Send (dgram As Byte(), bytes As Integer) As Integer

Parâmetros

dgram
Byte[]

Uma matriz de tipo Byte que especifica o datagrama UDP que você pretende enviar representado como uma matriz de bytes.

bytes
Int32

O número de bytes no datagram.

Retornos

O número de bytes enviados.

Exceções

dgram é null.

O UdpClient host remoto padrão já foi estabelecido.

Erro ao acessar o soquete.

Exemplos

O exemplo a seguir demonstra o Send método. Você deve estabelecer um host remoto padrão antes de usar essa sobrecarga.

UdpClient udpClient = new UdpClient("www.contoso.com", 11000);
Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there");
try{
    udpClient.Send(sendBytes, sendBytes.Length);
}
catch ( Exception e ){
    Console.WriteLine( e.ToString());
}
Dim udpClient As New UdpClient("www.contoso.com", 11000)
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there")
Try
   udpClient.Send(sendBytes, sendBytes.Length)
Catch e As Exception
   Console.WriteLine(e.ToString())
End Try

Comentários

Essa sobrecarga envia datagramas para o host remoto estabelecido no Connect método e retorna o número de bytes enviados. Se você não chamar Connect antes de chamar essa sobrecarga, o Send método gerará um SocketException. Se você receber um SocketException, use SocketException.ErrorCode para obter o código de erro específico. 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.

Se você quiser enviar datagramas para um host remoto diferente, deverá chamar o Connect método e especificar o host remoto desejado. Use qualquer uma das outras Send sobrecargas de método para enviar datagramas para um endereço de difusão.

Confira também

Aplica-se a

Send(ReadOnlySpan<Byte>)

Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs

Envia um datagrama UDP para um host remoto.

public:
 int Send(ReadOnlySpan<System::Byte> datagram);
public int Send(ReadOnlySpan<byte> datagram);
member this.Send : ReadOnlySpan<byte> -> int
Public Function Send (datagram As ReadOnlySpan(Of Byte)) As Integer

Parâmetros

datagram
ReadOnlySpan<Byte>

Um ReadOnlySpan<T> tipo Byte que especifica o datagrama UDP que você pretende enviar.

Retornos

O número de bytes enviados.

Exceções

O UdpClient host remoto padrão não foi estabelecido.

Erro ao acessar o soquete.

Aplica-se a

Send(ReadOnlySpan<Byte>, IPEndPoint)

Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs
Origem:
UDPClient.cs

Envia um datagrama UDP para o host no ponto de extremidade remoto especificado.

public:
 int Send(ReadOnlySpan<System::Byte> datagram, System::Net::IPEndPoint ^ endPoint);
public int Send(ReadOnlySpan<byte> datagram, System.Net.IPEndPoint? endPoint);
member this.Send : ReadOnlySpan<byte> * System.Net.IPEndPoint -> int
Public Function Send (datagram As ReadOnlySpan(Of Byte), endPoint As IPEndPoint) As Integer

Parâmetros

datagram
ReadOnlySpan<Byte>

Um ReadOnlySpan<T> tipo Byte que especifica o datagrama UDP que você pretende enviar.

endPoint
IPEndPoint

Um IPEndPoint que representa o host e a porta para o qual enviar o datagram.

Retornos

O número de bytes enviados.

Exceções

UdpClient já estabeleceu um host remoto padrão e endPoint não nullé .

Erro ao acessar o soquete.

Aplica-se a