Teilen über


UdpClient Klasse

Definition

Stellt die UDP-Netzwerkdienste (User Datagram Protocol) bereit.

public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
    interface IDisposable
Public Class UdpClient
Implements IDisposable
Vererbung
UdpClient
Implementiert

Beispiele

Im folgenden Beispiel wird eine UdpClient Verbindung mithilfe des Hostnamens www.contoso.com an Port 11000 hergestellt. Eine kleine Zeichenfolgennachricht wird an zwei separate Remotehostcomputer gesendet. Die Receive -Methode blockiert die Ausführung, bis eine Nachricht empfangen wird. Mithilfe des IPEndPoint an Receiveübergebenen wird die Identität des antwortenden Hosts angezeigt.

// 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

Hinweise

Die UdpClient -Klasse bietet einfache Methoden zum Senden und Empfangen verbindungsloser UDP-Datagramme im blockierenden synchronen Modus. Da UDP ein verbindungsloses Transportprotokoll ist, müssen Sie vor dem Senden und Empfangen von Daten keine Remotehostverbindung herstellen. Sie haben jedoch die Möglichkeit, einen Standard-Remotehost auf eine der folgenden zwei Arten einzurichten:

  • Create eine instance der UdpClient -Klasse unter Verwendung des Remotehostnamens und der Portnummer als Parameter.

  • Create eine instance der UdpClient -Klasse aus, und rufen Sie dann die -Methode aufConnect.

Sie können eine der in UdpClient der bereitgestellten Sendemethoden verwenden, um Daten an ein Remotegerät zu senden. Verwenden Sie die Receive -Methode, um Daten von Remotehosts zu empfangen.

Hinweis

Rufen Send Sie nicht mit einem Hostnamen oder IPEndPoint auf, wenn Sie bereits einen Standard-Remotehost angegeben haben. Wenn Sie dies tun, UdpClient löst eine Ausnahme aus.

UdpClient mit -Methoden können Sie auch Multicast-Datagramme senden und empfangen. Verwenden Sie die JoinMulticastGroup -Methode, um eine UdpClient für eine Multicastgruppe zu abonnieren. Verwenden Sie die DropMulticastGroup -Methode, um eine UdpClient aus einer Multicastgruppe abzubestellen.

Konstruktoren

UdpClient()

Initialisiert eine neue Instanz der UdpClient-Klasse.

UdpClient(AddressFamily)

Initialisiert eine neue Instanz der UdpClient-Klasse.

UdpClient(Int32)

Initialisiert eine neue Instanz der UdpClient-Klasse und bindet sie an die angegebene lokale Anschlussnummer.

UdpClient(Int32, AddressFamily)

Initialisiert eine neue Instanz der UdpClient-Klasse und bindet sie an die angegebene lokale Anschlussnummer.

UdpClient(IPEndPoint)

Initialisiert eine neue Instanz der UdpClient-Klasse und bindet sie an den angegebenen lokalen Endpunkt.

UdpClient(String, Int32)

Initialisiert eine neue Instanz der UdpClient-Klasse und richtet einen Standardremotehost ein.

Eigenschaften

Active

Ruft einen Wert ab, der angibt, ob ein Standardremotehost eingerichtet wurde, oder legt diesen fest.

Available

Ruft die vom Netzwerk empfangene Datenmenge ab, die gelesen werden kann.

Client

Ruft den zugrunde liegenden Netzwerk-Socket ab oder legt diesen fest.

DontFragment

Ruft einen Boolean-Wert ab, der angibt, ob der UdpClient die Fragmentierung von IP (Internet Protocol)-Datagrammen zulässt, oder legt diesen fest.

EnableBroadcast

Ruft einen Boolean Wert ab, der angibt, ob broadcast-Pakete UdpClient gesendet werden dürfen, oder legt diesen fest.

ExclusiveAddressUse

Ruft einen Boolean-Wert ab, der angibt, ob der UdpClient nur die Verwendung eines Port durch einen einzigen Client zulässt, oder legt diesen fest.

MulticastLoopback

Ruft einen Boolean-Wert ab, der angibt, ob ausgehende Multicastpakete an die sendende Anwendung übermittelt werden, oder legt diesen fest.

Ttl

Ruft einen Wert ab, der die Gültigkeitsdauer (TTL – Time to Live) von IP (Internet Protocol)-Paketen angibt, die vom UdpClient gesendet werden.

Methoden

AllowNatTraversal(Boolean)

Aktiviert oder deaktiviert die NAT-Überquerung (Netzwerkadressenübersetzung) für eine UdpClient-Instanz.

BeginReceive(AsyncCallback, Object)

Empfängt asynchron ein Datagramm von einem Remotehost.

BeginSend(Byte[], Int32, AsyncCallback, Object)

Sendet asynchron ein Datagramm an einen Remotehost. Das Ziel wurde zuvor durch Aufruf von Connect angegeben.

BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object)

Sendet asynchron ein Datagramm an ein Ziel. Das Ziel wird durch einen EndPointangegeben.

BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object)

Sendet asynchron ein Datagramm an ein Ziel. Das Ziel wird durch einen Hostnamen und eine Anschlussnummer angegeben.

Close()

Schließt die UDP-Verbindung.

Connect(IPAddress, Int32)

Richtet einen Standardremotehost mithilfe der angegebenen IP-Adresse und Anschlussnummer ein.

Connect(IPEndPoint)

Richtet mit dem angegebenen Netzwerkendpunkt einen Standardremotehost ein.

Connect(String, Int32)

Richtet einen Standardremotehost mit dem angegebenen Hostnamen und der Anschlussnummer ein.

Dispose()

Gibt die vom UdpClient verwendeten verwalteten und nicht verwalteten Ressourcen frei.

Dispose(Boolean)

Gibt die von UdpClient verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

DropMulticastGroup(IPAddress)

Verlässt eine Multicastgruppe.

DropMulticastGroup(IPAddress, Int32)

Verlässt eine Multicastgruppe.

EndReceive(IAsyncResult, IPEndPoint)

Beendet einen ausstehenden asynchronen Empfang.

EndSend(IAsyncResult)

Beendet einen ausstehenden asynchronen Sendevorgang.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
JoinMulticastGroup(Int32, IPAddress)

Fügt einer Multicastgruppe einen UdpClient hinzu.

JoinMulticastGroup(IPAddress)

Fügt einer Multicastgruppe einen UdpClient hinzu.

JoinMulticastGroup(IPAddress, Int32)

Fügt einer Multicasgruppe einen UdpClient mit angegebener Gültigkeitsdauer (TTL – Time To Live) hinzu.

JoinMulticastGroup(IPAddress, IPAddress)

Fügt einer Multicastgruppe einen UdpClient hinzu.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Receive(IPEndPoint)

Gibt ein von einem Remotehost gesendetes UDP-Datagramm zurück.

ReceiveAsync()

Gibt ein von einem Remotehost gesendetes UDP-Datagramm asynchron zurück.

ReceiveAsync(CancellationToken)

Gibt ein von einem Remotehost gesendetes UDP-Datagramm asynchron zurück.

Send(Byte[], Int32)

Sendet ein UDP-Datagramm an einen Remotehost.

Send(Byte[], Int32, IPEndPoint)

Sendet ein UDP-Datagramm an den Host am angegebenen Remoteendpunkt.

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

Sendet ein UDP-Datagramm an einen angegebenen Port auf einem angegebenen Remotehost.

Send(ReadOnlySpan<Byte>)

Sendet ein UDP-Datagramm an einen Remotehost.

Send(ReadOnlySpan<Byte>, IPEndPoint)

Sendet ein UDP-Datagramm an den Host am angegebenen Remoteendpunkt.

Send(ReadOnlySpan<Byte>, String, Int32)

Sendet ein UDP-Datagramm an einen angegebenen Port auf einem angegebenen Remotehost.

SendAsync(Byte[], Int32)

Sendet asynchron ein UPD-Datagramm an einen Remotehost.

SendAsync(Byte[], Int32, IPEndPoint)

Sendet asynchron ein UPD-Datagramm an einen Remotehost.

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

Sendet asynchron ein UPD-Datagramm an einen Remotehost.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Sendet asynchron ein UPD-Datagramm an einen Remotehost.

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

Sendet asynchron ein UPD-Datagramm an einen Remotehost.

SendAsync(ReadOnlyMemory<Byte>, String, Int32, CancellationToken)

Sendet asynchron ein UPD-Datagramm an einen Remotehost.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Gibt alle vom UdpClient verwendeten Ressourcen frei.

Gilt für:

Weitere Informationen