Compartilhar via


UdpClient.Send Método

Definição

Envia um datagrama UDP para um host remoto.

Sobrecargas

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

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 do 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 datagrama.

hostname
String

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

port
Int32

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

Retornos

O número de bytes enviados.

Exceções

dgram é null.

O UdpClient já estabeleceu um host remoto padrão.

Ocorreu um 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 = gcnew UdpClient;

array<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() );
}
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 pelos hostname parâmetros e port e 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 difusã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 usar a Socket classe .

Observação

Não forneça um nome de host ou número da 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 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.

Confira também

Aplica-se a

Send(ReadOnlySpan<Byte>, String, Int32)

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> de 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 datagrama.

port
Int32

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

Retornos

O número de bytes enviados.

Exceções

O UdpClient já estabeleceu um host remoto padrão.

Ocorreu um erro ao acessar o soquete.

Aplica-se a

Send(Byte[], Int32, IPEndPoint)

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 do 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 datagrama.

endPoint
IPEndPoint

Um IPEndPoint que representa o host e a porta para os quais o datagrama será enviado.

Retornos

O número de bytes enviados.

Exceções

dgram é null.

O UdpClient já estabeleceu um host remoto padrão.

Ocorreu um 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 = gcnew UdpClient;
IPAddress^ ipAddress = Dns::Resolve( "www.contoso.com" )->AddressList[ 0 ];
IPEndPoint^ ipEndPoint = gcnew IPEndPoint( ipAddress,11004 );

array<Byte>^ sendBytes = Encoding::ASCII->GetBytes( "Is anybody there?" );
try
{
   udpClient->Send( sendBytes, sendBytes->Length, ipEndPoint );
}
catch ( Exception^ e ) 
{
   Console::WriteLine( e->ToString() );
}
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 usando o endereço IP e o número da porta do host remoto para o qual os datagramas serão entregues. Você pode enviar datagramas para o endereço de difusão padrão, 255.255.255.255, especificando SocketOptionName.Broadcast para a Address propriedade do IPEndPoint. Depois de criar esse IPEndPoint, passe-o para o Send método como o endPoint parâmetro .

Se você quiser enviar datagramas para qualquer outro endereço de difusã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 usar a Socket classe .

Observação

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 . Se você fizer isso, 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.

Confira também

Aplica-se a

Send(Byte[], Int32)

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 do 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 datagrama.

Retornos

O número de bytes enviados.

Exceções

dgram é null.

O UdpClient já estabeleceu um host remoto padrão.

Ocorreu um 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 = gcnew UdpClient( "www.contoso.com",11000 );
array<Byte>^ sendBytes = Encoding::ASCII->GetBytes( "Is anybody there" );
try
{
   udpClient->Send( sendBytes, sendBytes->Length );
}
catch ( Exception^ e ) 
{
   Console::WriteLine( e->ToString() );
}
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, chame o Connect método e especifique 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

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 você pretende enviar.

Retornos

O número de bytes enviados.

Exceções

O UdpClient não estabeleceu um host remoto padrão.

Ocorreu um erro ao acessar o soquete.

Aplica-se a

Send(ReadOnlySpan<Byte>, IPEndPoint)

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

endPoint
IPEndPoint

Um IPEndPoint que representa o host e a porta para os quais o datagrama será enviado.

Retornos

O número de bytes enviados.

Exceções

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

Ocorreu um erro ao acessar o soquete.

Aplica-se a