Sdílet prostřednictvím


UdpClient.Send Metoda

Definice

Odešle datagram UDP vzdálenému hostiteli.

Přetížení

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

Odešle datagram UDP na zadaný port na zadaném vzdáleném hostiteli.

Send(ReadOnlySpan<Byte>, String, Int32)

Odešle datagram UDP na zadaný port na zadaném vzdáleném hostiteli.

Send(Byte[], Int32, IPEndPoint)

Odešle datagram UDP hostiteli v zadaném vzdáleném koncovém bodu.

Send(Byte[], Int32)

Odešle datagram UDP vzdálenému hostiteli.

Send(ReadOnlySpan<Byte>)

Odešle datagram UDP vzdálenému hostiteli.

Send(ReadOnlySpan<Byte>, IPEndPoint)

Odešle datagram UDP hostiteli v zadaném vzdáleném koncovém bodu.

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

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP na zadaný port na zadaném vzdáleném hostiteli.

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

Parametry

dgram
Byte[]

Pole typu Byte určující datagram UDP, který chcete odeslat reprezentovaný jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu.

hostname
String

Název vzdáleného hostitele, na kterého chcete datagram odeslat.

port
Int32

Číslo vzdáleného portu, se kterým chcete komunikovat.

Návraty

Počet odeslaných bajtů

Výjimky

dgram je null.

Služba UdpClient již vytvořila výchozího vzdáleného hostitele.

Při přístupu k soketu došlo k chybě.

Příklady

Následující příklad ukazuje metodu Send . Tento příklad používá název hostitele a číslo portu k identifikaci cílového hostitele.

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

Poznámky

Metoda Send odesílá datagramy na hodnoty určené hostname parametry a port a vrátí počet bajtů, které byly úspěšně odeslány. Datagramy můžete odeslat na výchozí adresu všesměrového vysílání zadáním hodnoty parametru hostname "255.255.255.255".

Pokud chcete odesílat datagramy na jakoukoli jinou adresu všesměrového vysílání, použijte metodu Client k získání podkladové Socketadresy a nastavte možnost soketu na SocketOptionName.Broadcast. Můžete se také vrátit k používání Socket třídy .

Poznámka

Neposkytujte název hostitele ani číslo portu pro tuto metodu Connect , pokud jste již vytvořili vzdáleného hostitele pomocí metody . Pokud to uděláte, Send metoda vyvolá SocketException. Pokud se zobrazí SocketException, použijte SocketException.ErrorCode k získání konkrétního kódu chyby. Jakmile tento kód získáte, můžete se podívat do dokumentace k chybovému kódu rozhraní API rozhraní Windows Sockets verze 2 , kde najdete podrobný popis chyby.

Viz také

Platí pro

Send(ReadOnlySpan<Byte>, String, Int32)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP na zadaný port na zadaném vzdáleném hostiteli.

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

Parametry

datagram
ReadOnlySpan<Byte>

Typ ReadOnlySpan<T>Byte určující datagram UDP, který chcete odeslat.

hostname
String

Název vzdáleného hostitele, na kterého chcete datagram odeslat.

port
Int32

Číslo vzdáleného portu, se kterým chcete komunikovat.

Návraty

Počet odeslaných bajtů

Výjimky

Služba UdpClient již vytvořila výchozího vzdáleného hostitele.

Při přístupu k soketu došlo k chybě.

Platí pro

Send(Byte[], Int32, IPEndPoint)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP hostiteli v zadaném vzdáleném koncovém bodu.

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

Parametry

dgram
Byte[]

Pole typu Byte , které určuje datagram UDP, který chcete odeslat, reprezentovaný jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu.

endPoint
IPEndPoint

Představuje IPEndPoint hostitele a port, na který se má datagram odeslat.

Návraty

Počet odeslaných bajtů

Výjimky

dgram je null.

UdpClient již vytvořil výchozího vzdáleného hostitele.

Při přístupu k soketu došlo k chybě.

Příklady

Následující příklad ukazuje metodu Send . Tento příklad používá k IPEndPoint určení cílového hostitele .

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

Poznámky

Metoda Send odešle datagramy do zadaného koncového bodu a vrátí počet bajtů, které byly úspěšně odeslány. Před voláním tohoto přetížení musíte nejprve vytvořit IPEndPoint ip adresu a číslo portu vzdáleného hostitele, na který budou datagramy doručeny. Zadáním vlastnosti IPEndPointmůžete odesílat datagramy na výchozí adresu všesměrového vysílání 255.255.255.255.SocketOptionName.BroadcastAddress Po vytvoření ho IPEndPointSend předejte metodě jako endPoint parametr .

Pokud chcete odesílat datagramy na jakoukoli jinou adresu všesměrového vysílání, použijte metodu Client k získání podkladové Socketadresy a nastavte možnost soketu na SocketOptionName.Broadcast. Můžete se také vrátit k používání Socket třídy .

Poznámka

Neposkytujte endPoint parametr této metodě, pokud jste již vytvořili vzdáleného hostitele pomocí Connect metody . Pokud to uděláte, Send metoda vyvolá SocketException. Pokud se zobrazí SocketException, použijte SocketException.ErrorCode k získání konkrétního kódu chyby. Jakmile tento kód získáte, můžete se podívat do dokumentace k chybovému kódu rozhraní API rozhraní Windows Sockets verze 2 , kde najdete podrobný popis chyby.

Viz také

Platí pro

Send(Byte[], Int32)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP vzdálenému hostiteli.

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

Parametry

dgram
Byte[]

Pole typu Byte určující datagram UDP, který chcete odeslat reprezentovaný jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu.

Návraty

Počet odeslaných bajtů

Výjimky

dgram je null.

Služba UdpClient již vytvořila výchozího vzdáleného hostitele.

Při přístupu k soketu došlo k chybě.

Příklady

Následující příklad ukazuje metodu Send . Před použitím tohoto přetížení je nutné vytvořit výchozího vzdáleného hostitele.

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

Poznámky

Toto přetížení odešle datagramy vzdálenému hostiteli vytvořenému Connect v metodě a vrátí počet odeslaných bajtů. Pokud před voláním tohoto přetížení nezavoláte Connect , Send metoda vyvolá SocketException. Pokud se zobrazí SocketException, použijte SocketException.ErrorCode k získání konkrétního kódu chyby. Jakmile tento kód získáte, můžete se podívat do dokumentace k chybovému kódu rozhraní API rozhraní Windows Sockets verze 2 , kde najdete podrobný popis chyby.

Pokud chcete odesílat datagramy jinému vzdálenému hostiteli, musíte zavolat metodu Connect a zadat požadovaného vzdáleného hostitele. Pomocí některého z přetížení Send metody odešlete datagramy na adresu všesměrového vysílání.

Viz také

Platí pro

Send(ReadOnlySpan<Byte>)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP vzdálenému hostiteli.

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

Parametry

datagram
ReadOnlySpan<Byte>

Typ ReadOnlySpan<T>Byte určující datagram UDP, který chcete odeslat.

Návraty

Počet odeslaných bajtů

Výjimky

Služba UdpClient nenastavila výchozího vzdáleného hostitele.

Při přístupu k soketu došlo k chybě.

Platí pro

Send(ReadOnlySpan<Byte>, IPEndPoint)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs

Odešle datagram UDP hostiteli v zadaném vzdáleném koncovém bodu.

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

Parametry

datagram
ReadOnlySpan<Byte>

Typ ReadOnlySpan<T>Byte určující datagram UDP, který chcete odeslat.

endPoint
IPEndPoint

Představuje IPEndPoint hostitele a port, na který se má datagram odeslat.

Návraty

Počet odeslaných bajtů

Výjimky

UdpClient již vytvořil výchozího vzdáleného hostitele a endPoint není null.

Při přístupu k soketu došlo k chybě.

Platí pro