Sdílet prostřednictvím


UdpClient.Send Metoda

Definice

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

Přetížení

Name Description
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
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 , které určuje datovýgram UDP, který chcete odeslat jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu

hostname
String

Název vzdáleného hostitele, do 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.

Výchozí UdpClient vzdálený hostitel již vytvořil.

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 = 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 do hodnot určených hostname parametry a port vrací počet bajtů úspěšně odeslán. Datagramy můžete odeslat na výchozí adresu 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 Client metodu k získání podkladového Socketobjektu a nastavte možnost soketu na SocketOptionName.Broadcast. Můžete se také vrátit k používání Socket třídy.

Poznámka:

Neposkytujte pro tuto metodu název hostitele nebo číslo portu, pokud jste již vytvořili vzdáleného hostitele s touto metodou Connect . Pokud ano, Send metoda vyvolá SocketException. Pokud se zobrazí SocketExceptionkód chyby, použijte SocketException.ErrorCode ho 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 chybě rozhraní API verze 2 rozhraní WINDOWS Sockets , kde najdete podrobný popis chyby.

Viz také

Platí pro

Send(ReadOnlySpan<Byte>, String, Int32)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
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>

Byte TypReadOnlySpan<T>, který určuje datagram UDP, který chcete odeslat.

hostname
String

Název vzdáleného hostitele, do 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

Výchozí UdpClient vzdálený hostitel již vytvořil.

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
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 určující datovýgram UDP, který chcete odeslat, reprezentovaný jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu

endPoint
IPEndPoint

Představuje IPEndPoint hostitele a port, do kterého 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á IPEndPoint k určení cílového hostitele.

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ů úspěšně odeslán. Před voláním tohoto přetížení musíte nejprve vytvořit IPEndPoint pomocí IP adresy a čísla portu vzdáleného hostitele, do kterého se budou datagramy doručovat. Datagramy můžete odeslat na výchozí adresu vysílání 255.255.255.255 zadáním SocketOptionName.Broadcast vlastnosti AddressIPEndPoint. Po vytvoření této IPEndPointmetody ji Send předejte jako endPoint parametr.

Pokud chcete odesílat datagramy na jakoukoli jinou adresu všesměrového vysílání, použijte Client metodu k získání podkladového Socketobjektu 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 metody, pokud jste již vytvořili vzdáleného hostitele s metodou Connect . Pokud ano, Send metoda vyvolá SocketException. Pokud se zobrazí SocketExceptionkód chyby, použijte SocketException.ErrorCode ho 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 chybě rozhraní API verze 2 rozhraní WINDOWS Sockets , kde najdete podrobný popis chyby.

Viz také

Platí pro

Send(Byte[], Int32)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
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 , které určuje datovýgram UDP, který chcete odeslat jako pole bajtů.

bytes
Int32

Počet bajtů v datagramu

Návraty

Počet odeslaných bajtů.

Výjimky

dgram je null.

Výchozí UdpClient vzdálený hostitel již vytvořil.

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í musíte vytvořit výchozího vzdáleného hostitele.

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í odesílá 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á SocketExceptionchybu . Pokud se zobrazí SocketExceptionkód chyby, použijte SocketException.ErrorCode ho 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 chybě rozhraní API verze 2 rozhraní WINDOWS Sockets , kde najdete podrobný popis chyby.

Pokud chcete odesílat datagramy jinému vzdálenému hostiteli, musíte volat metodu Connect a zadat požadovaného vzdáleného hostitele. K odeslání datagramů na adresu všesměrového vysílání použijte některou z dalších Send přetížení metody.

Viz také

Platí pro

Send(ReadOnlySpan<Byte>)

Zdroj:
UDPClient.cs
Zdroj:
UDPClient.cs
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>

Byte TypReadOnlySpan<T>, který určuje datagram UDP, který chcete odeslat.

Návraty

Počet odeslaných bajtů.

Výjimky

Nenastavil UdpClient 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
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>

Byte TypReadOnlySpan<T>, který určuje datagram UDP, který chcete odeslat.

endPoint
IPEndPoint

Představuje IPEndPoint hostitele a port, do kterého se má datagram odeslat.

Návraty

Počet odeslaných bajtů.

Výjimky

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

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

Platí pro