UdpClient Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje síťové služby UDP (User Datagram Protocol).
public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
interface IDisposable
Public Class UdpClient
Implements IDisposable
- Dědičnost
-
UdpClient
- Implementuje
Příklady
Následující příklad vytvoří UdpClient připojení pomocí názvu www.contoso.com
hostitele na portu 11000. Malá řetězcová zpráva se odešle na dva samostatné vzdálené hostitelské počítače. Metoda Receive blokuje provádění, dokud se neobdrží zpráva. IPEndPoint Při předání Receivese odhalí identita reagujícího hostitele.
// With this constructor the local port number is arbitrarily assigned.
UdpClient^ udpClient = gcnew UdpClient;
try
{
udpClient->Connect( "host.contoso.com", 11000 );
// Send message to the host to which you have connected.
array<Byte>^sendBytes = Encoding::ASCII->GetBytes( "Is anybody there?" );
udpClient->Send( sendBytes, sendBytes->Length );
// Send message to a different host using optional hostname and port parameters.
UdpClient^ udpClientB = gcnew UdpClient;
udpClientB->Send( sendBytes, sendBytes->Length, "AlternateHostMachineName", 11000 );
//IPEndPoint object will allow us to read datagrams sent from any source.
IPEndPoint^ RemoteIpEndPoint = gcnew IPEndPoint( IPAddress::Any,0 );
// Block until a message returns on this socket from a remote host.
array<Byte>^receiveBytes = udpClient->Receive( RemoteIpEndPoint );
String^ returnData = Encoding::ASCII->GetString( receiveBytes );
// Use the IPEndPoint object to determine which of these two hosts responded.
Console::WriteLine( String::Concat( "This is the message you received ", returnData->ToString() ) );
Console::WriteLine( String::Concat( "This message was sent from ", RemoteIpEndPoint->Address->ToString(), " on their port number ", RemoteIpEndPoint->Port.ToString() ) );
udpClient->Close();
udpClientB->Close();
}
catch ( Exception^ e )
{
Console::WriteLine( e->ToString() );
}
// This constructor arbitrarily assigns the local port number.
UdpClient udpClient = new UdpClient(11000);
try{
udpClient.Connect("www.contoso.com", 11000);
// Sends a message to the host to which you have connected.
Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?");
udpClient.Send(sendBytes, sendBytes.Length);
// Sends a message to a different host using optional hostname and port parameters.
UdpClient udpClientB = new UdpClient();
udpClientB.Send(sendBytes, sendBytes.Length, "AlternateHostMachineName", 11000);
//IPEndPoint object will allow us to read datagrams sent from any source.
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
// Blocks until a message returns on this socket from a remote host.
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
string returnData = Encoding.ASCII.GetString(receiveBytes);
// Uses the IPEndPoint object to determine which of these two hosts responded.
Console.WriteLine("This is the message you received " +
returnData.ToString());
Console.WriteLine("This message was sent from " +
RemoteIpEndPoint.Address.ToString() +
" on their port number " +
RemoteIpEndPoint.Port.ToString());
udpClient.Close();
udpClientB.Close();
}
catch (Exception e ) {
Console.WriteLine(e.ToString());
}
' This constructor arbitrarily assigns the local port number.
Dim udpClient As New UdpClient(11000)
Try
udpClient.Connect("www.contoso.com", 11000)
' Sends a message to the host to which you have connected.
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there?")
udpClient.Send(sendBytes, sendBytes.Length)
' Sends message to a different host using optional hostname and port parameters.
Dim udpClientB As New UdpClient()
udpClientB.Send(sendBytes, sendBytes.Length, "AlternateHostMachineName", 11000)
' IPEndPoint object will allow us to read datagrams sent from any source.
Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)
' UdpClient.Receive blocks until a message is received from a remote host.
Dim receiveBytes As [Byte]() = udpClient.Receive(RemoteIpEndPoint)
Dim returnData As String = Encoding.ASCII.GetString(receiveBytes)
' Which one of these two hosts responded?
Console.WriteLine(("This is the message you received " + _
returnData.ToString()))
Console.WriteLine(("This message was sent from " + _
RemoteIpEndPoint.Address.ToString() + _
" on their port number " + _
RemoteIpEndPoint.Port.ToString()))
udpClient.Close()
udpClientB.Close()
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
End Sub
Poznámky
Třída UdpClient poskytuje jednoduché metody pro odesílání a příjem datagramů UDP bez připojení v blokující synchronním režimu. Protože UDP je přenosový protokol bez připojení, nemusíte před odesíláním a přijímáním dat navázat připojení vzdáleného hostitele. Máte ale možnost vytvořit výchozího vzdáleného hostitele jedním z následujících dvou způsobů:
Vytvořte instanci třídy pomocí názvu vzdáleného UdpClient hostitele a čísla portu jako parametrů.
Vytvořte instanci UdpClient třídy a potom volejte metodu Connect .
K odesílání dat do vzdáleného zařízení můžete použít některou z metod UdpClient odesílání. Tuto metodu použijte k příjmu Receive dat ze vzdálených hostitelů.
Poznámka
Nevolejte Send pomocí názvu hostitele nebo IPEndPoint pokud jste už zadali výchozího vzdáleného hostitele. Pokud to uděláte, UdpClient vyvolá se výjimka.
UdpClient metody také umožňují odesílat a přijímat datagramy vícesměrového vysílání. Tuto metodu JoinMulticastGroup použijte k přihlášení k odběru UdpClient skupiny vícesměrového vysílání. Tuto metodu DropMulticastGroup použijte k odhlášení odběru UdpClient skupiny vícesměrového vysílání.
Konstruktory
UdpClient() |
Inicializuje novou instanci UdpClient třídy. |
UdpClient(AddressFamily) |
Inicializuje novou instanci UdpClient třídy. |
UdpClient(Int32) |
Inicializuje novou instanci UdpClient třídy a vytvoří vazbu na zadané číslo místního portu. |
UdpClient(Int32, AddressFamily) |
Inicializuje novou instanci UdpClient třídy a vytvoří vazbu na zadané číslo místního portu. |
UdpClient(IPEndPoint) |
Inicializuje novou instanci UdpClient třídy a vytvoří vazbu k zadanému místnímu koncovému bodu. |
UdpClient(String, Int32) |
Inicializuje novou instanci UdpClient třídy a vytvoří výchozího vzdáleného hostitele. |
Vlastnosti
Active |
Získá nebo nastaví hodnotu označující, zda byl vytvořen výchozí vzdálený hostitel. |
Available |
Získá množství dat přijatých ze sítě, která je k dispozici pro čtení. |
Client |
Získá nebo nastaví podkladovou síť Socket. |
DontFragment |
Získá nebo nastaví Boolean hodnotu, která určuje, zda UdpClient je možné datagramy protokolu IP (Internet Protocol) fragmentovat. |
EnableBroadcast |
Získá nebo nastaví Boolean hodnotu, která určuje, zda UdpClient může odesílat pakety vysílání. |
ExclusiveAddressUse |
Získá nebo nastaví Boolean hodnotu, která určuje, zda UdpClient umožňuje používat port pouze jednoho klienta. |
MulticastLoopback |
Získá nebo nastaví Boolean hodnotu, která určuje, zda se odchozí pakety vícesměrového vysílání doručují do odesílající aplikace. |
Ttl |
Získá nebo nastaví hodnotu, která určuje hodnotu Time to Live (TTL) paketů protokolu IP (Internet Protocol) odesílaných serverem UdpClient. |
Metody
AllowNatTraversal(Boolean) |
Povolí nebo zakáže procházení překladu adres (NAT) v UdpClient instanci. |
BeginReceive(AsyncCallback, Object) |
Přijímá datagram ze vzdáleného hostitele asynchronně. |
BeginSend(Byte[], Int32, AsyncCallback, Object) |
Odešle datagram vzdálenému hostiteli asynchronně. Cíl byl zadán dříve voláním .Connect |
BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object) |
Odešle datagram do cíle asynchronně. Cíl je určen hodnotou EndPoint. |
BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object) |
Odešle datagram do cíle asynchronně. Cíl je určený názvem hostitele a číslem portu. |
Close() |
Zavře připojení UDP. |
Connect(IPAddress, Int32) |
Vytvoří výchozího vzdáleného hostitele pomocí zadané IP adresy a čísla portu. |
Connect(IPEndPoint) |
Vytvoří výchozího vzdáleného hostitele pomocí zadaného koncového bodu sítě. |
Connect(String, Int32) |
Vytvoří výchozího vzdáleného hostitele pomocí zadaného názvu hostitele a čísla portu. |
Dispose() |
Uvolní spravované a nespravované prostředky používané nástrojem UdpClient. |
Dispose(Boolean) |
Uvolní nespravované prostředky používané UdpClient a volitelně uvolní spravované prostředky. |
DropMulticastGroup(IPAddress) |
Ponechá skupinu vícesměrového vysílání. |
DropMulticastGroup(IPAddress, Int32) |
Ponechá skupinu vícesměrového vysílání. |
EndReceive(IAsyncResult, IPEndPoint) |
Ukončí čekající asynchronní příjem. |
EndSend(IAsyncResult) |
Ukončí čekající asynchronní odeslání. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
Finalize() | |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
JoinMulticastGroup(Int32, IPAddress) |
Přidá do UdpClient skupiny vícesměrového vysílání. |
JoinMulticastGroup(IPAddress) |
Přidá do UdpClient skupiny vícesměrového vysílání. |
JoinMulticastGroup(IPAddress, Int32) |
UdpClient Přidá do skupiny vícesměrového vysílání se zadanou hodnotou Time to Live (TTL). |
JoinMulticastGroup(IPAddress, IPAddress) |
Přidá skupinu UdpClient vícesměrového vysílání. |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
Receive(IPEndPoint) |
Vrátí datovýgram UDP odeslaný vzdáleným hostitelem. |
ReceiveAsync() |
Vrátí datagram UDP asynchronně odesílaný vzdáleným hostitelem. |
ReceiveAsync(CancellationToken) |
Vrátí datagram UDP asynchronně odesílaný vzdáleným hostitelem. |
Send(Byte[], Int32) |
Odešle datovýgram UDP vzdálenému hostiteli. |
Send(Byte[], Int32, IPEndPoint) |
Odešle datagram UDP hostiteli v zadaném vzdáleném koncovém bodu. |
Send(Byte[], Int32, String, Int32) |
Odešle datovýgram UDP do zadaného portu na zadaném vzdáleném hostiteli. |
Send(ReadOnlySpan<Byte>) |
Odešle datovýgram UDP vzdálenému hostiteli. |
Send(ReadOnlySpan<Byte>, IPEndPoint) |
Odešle datagram UDP hostiteli v zadaném vzdáleném koncovém bodu. |
Send(ReadOnlySpan<Byte>, String, Int32) |
Odešle datovýgram UDP do zadaného portu na zadaném vzdáleném hostiteli. |
SendAsync(Byte[], Int32) |
Odešle datagram UDP asynchronně vzdálenému hostiteli. |
SendAsync(Byte[], Int32, IPEndPoint) |
Odešle datagram UDP asynchronně vzdálenému hostiteli. |
SendAsync(Byte[], Int32, String, Int32) |
Odešle datagram UDP asynchronně vzdálenému hostiteli. |
SendAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Odešle datagram UDP asynchronně vzdálenému hostiteli. |
SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken) |
Odešle datagram UDP asynchronně vzdálenému hostiteli. |
SendAsync(ReadOnlyMemory<Byte>, String, Int32, CancellationToken) |
Odešle datagram UDP asynchronně vzdálenému hostiteli. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
IDisposable.Dispose() |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Uvolní všechny prostředky používané nástrojem UdpClient. |