UdpClient.Send Método

Definição

Envia um datagrama UDP para um host remoto.

Sobrecargas

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

Envia um datagrama UDP para uma porta específica num host remoto específico.

Send(ReadOnlySpan<Byte>, String, Int32)

Envia um datagrama UDP para uma porta específica num host remoto específico.

Send(Byte[], Int32, IPEndPoint)

Envia um datagrama UDP para o host no endpoint 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 endpoint 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 específica num host remoto específico.

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

Um array de tipo Byte que especifica o datagrama UDP que pretende enviar, representado como um array de bytes.

bytes
Int32

O número de bytes no datagrama.

hostname
String

O nome do host remoto para o qual pretende enviar o datagrama.

port
Int32

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

Devoluções

O número de bytes enviados.

Exceções

dgram é null.

UdpClient estabeleceu um host remoto predefinido.

Ocorreu um erro ao aceder ao soquete.

Exemplos

O exemplo seguinte demonstra o Send método. Este exemplo utiliza um nome de host e um número de porta para identificar o host alvo.

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

Observações

O Send método envia datagramas para os valores especificados pelos hostname parâmetros e port retorna o número de bytes enviados com sucesso. Pode enviar datagramas para o endereço de broadcast predefinido especificando "255.255.255.255" como valor do hostname parâmetro.

Se quiser enviar datagramas para qualquer outro endereço de broadcast, use o Client método para obter o subjacente Socket, e defina a opção socket para SocketOptionName.Broadcast. Também podes voltar a usar a Socket aula.

Note

Não forneça um nome de host ou número de porta a este método se já tiver estabelecido um host remoto com o Connect método. Se o fizeres, o Send método irá lançar um SocketException. Se receber um SocketException, use SocketException.ErrorCode para obter o código de erro específico. Depois de obter este código, pode consultar a documentação do código de erro da API Windows Sockets versão 2<> para uma descrição detalhada do erro.

Ver 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 específica num host remoto específico.

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> de Tipo Byte que especifica o datagrama UDP que pretende enviar.

hostname
String

O nome do host remoto para o qual pretende enviar o datagrama.

port
Int32

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

Devoluções

O número de bytes enviados.

Exceções

UdpClient estabeleceu um host remoto predefinido.

Ocorreu um erro ao aceder ao 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 endpoint 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[]

Um array de tipo Byte que especifica o datagrama UDP que pretende enviar, representado como um array de bytes.

bytes
Int32

O número de bytes no datagrama.

endPoint
IPEndPoint

E IPEndPoint que representa o host e a porta para onde enviar o datagrama.

Devoluções

O número de bytes enviados.

Exceções

dgram é null.

UdpClient já estabeleceu um host remoto predefinido.

Ocorreu um erro ao aceder ao soquete.

Exemplos

O exemplo seguinte demonstra o Send método. Este exemplo usa um IPEndPoint para especificar o host alvo.

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

Observações

O Send método envia datagramas para o ponto final especificado e devolve o número de bytes enviados com sucesso. Antes de chamar esta sobrecarga, deve primeiro criar um IPEndPoint usando o endereço IP e o número de porta do host remoto para onde os seus datagramas serão entregues. Pode enviar datagramas para o endereço de broadcast predefinido, 255.255.255.255, especificando SocketOptionName.Broadcast para a Address propriedade do IPEndPoint. Depois de criar isto IPEndPoint, passa-o para o Send método como parâmetro endPoint .

Se quiser enviar datagramas para qualquer outro endereço de broadcast, use o Client método para obter o subjacente Socket, e defina a opção socket para SocketOptionName.Broadcast. Também podes voltar a usar a Socket aula.

Note

Não forneça um endPoint parâmetro para este método se já tiver estabelecido um host remoto com o Connect método. Se o fizeres, o Send método irá lançar um SocketException. Se receber um SocketException, use SocketException.ErrorCode para obter o código de erro específico. Depois de obter este código, pode consultar a documentação do código de erro da API Windows Sockets versão 2<> para uma descrição detalhada do erro.

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

Um array de tipo Byte que especifica o datagrama UDP que pretende enviar, representado como um array de bytes.

bytes
Int32

O número de bytes no datagrama.

Devoluções

O número de bytes enviados.

Exceções

dgram é null.

UdpClient estabeleceu um host remoto predefinido.

Ocorreu um erro ao aceder ao soquete.

Exemplos

O exemplo seguinte demonstra o Send método. Deve estabelecer um host remoto predefinido antes de usar esta 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

Observações

Esta sobrecarga envia datagramas para o host remoto estabelecido no Connect método e devolve o número de bytes enviados. Se não chamar Connect antes de chamar esta sobrecarga, o Send método irá lançar um SocketException. Se receber um SocketException, use SocketException.ErrorCode para obter o código de erro específico. Depois de obter este código, pode consultar a documentação do código de erro da API Windows Sockets versão 2<> para uma descrição detalhada do erro.

Se quiser enviar datagramas para um host remoto diferente, deve chamar o Connect método e especificar o host remoto desejado. Use qualquer um dos outros Send overloads de métodos para enviar datagramas para um endereço de broadcast.

Ver 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> de Tipo Byte que especifica o datagrama UDP que pretende enviar.

Devoluções

O número de bytes enviados.

Exceções

Ainda UdpClient não estabeleceu um host remoto predefinido.

Ocorreu um erro ao aceder ao 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 endpoint 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> de Tipo Byte que especifica o datagrama UDP que pretende enviar.

endPoint
IPEndPoint

E IPEndPoint que representa o host e a porta para onde enviar o datagrama.

Devoluções

O número de bytes enviados.

Exceções

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

Ocorreu um erro ao aceder ao soquete.

Aplica-se a