UdpClient Klasse

Definition

Stellt UDP (User Datagram Protocol)-Netzwerkdienste bereit.Provides User Datagram Protocol (UDP) network services.

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 mit dem Hostnamen www.contoso.com an Port 11000 hergestellt.The following example establishes a UdpClient connection using the host name www.contoso.com on port 11000. Eine kleine Zeichen folgen Nachricht wird an zwei separate Remote Host Computer gesendet.A small string message is sent to two separate remote host machines. Die Receive -Methode blockiert die Ausführung, bis eine Nachricht empfangen wird.The Receive method blocks execution until a message is received. Mit dem IPEndPoint an Receivebestandenen wird die Identität des antwortenden Hosts offengelegt.Using the IPEndPoint passed to Receive, the identity of the responding host is revealed.

// 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 stellt einfache Methoden zum Senden und empfangen von Verbindungs losen UDP-Datagramme im blockierenden synchronen Modus bereit.The UdpClient class provides simple methods for sending and receiving connectionless UDP datagrams in blocking synchronous mode. Da UDP ein verbindungsloses Transportprotokoll ist, müssen Sie vor dem Senden und empfangen von Daten keine Remote Host Verbindung herstellen.Because UDP is a connectionless transport protocol, you do not need to establish a remote host connection prior to sending and receiving data. Sie haben jedoch die Möglichkeit, einen Standard-Remote Host auf eine der beiden folgenden Arten einzurichten:You do, however, have the option of establishing a default remote host in one of the following two ways:

  • Erstellen Sie eine Instanz der UdpClient -Klasse, indem Sie den Remote Hostnamen und die Portnummer als Parameter verwenden.Create an instance of the UdpClient class using the remote host name and port number as parameters.

  • Erstellen Sie eine Instanz der UdpClient -Klasse, und rufen Connect Sie dann die-Methode auf.Create an instance of the UdpClient class and then call the Connect method.

Sie können eine der in UdpClient bereitgestellten Send-Methoden verwenden, um Daten an ein Remote Gerät zu senden.You can use any of the send methods provided in the UdpClient to send data to a remote device. Verwenden Sie Receive die-Methode, um Daten von Remote Hosts zu empfangen.Use the Receive method to receive data from remote hosts.

Hinweis

Send Verwenden Sie nicht den Hostnamen, oder IPEndPoint Wenn Sie bereits einen Standard-Remote Host angegeben haben.Do not call Send using a host name or IPEndPoint if you have already specified a default remote host. Wenn dies der Fall UdpClient ist, wird eine Ausnahme ausgelöst.If you do, UdpClient will throw an exception.

UdpClientmit Methoden können auch Multicast Datagramme gesendet und empfangen werden.UdpClient methods also allow you to send and receive multicast datagrams. Verwenden Sie JoinMulticastGroup die-Methode, UdpClient um einen für eine Multicast Gruppe zu abonnieren.Use the JoinMulticastGroup method to subscribe a UdpClient to a multicast group. Verwenden Sie DropMulticastGroup die-Methode, UdpClient um ein aus einer Multicast Gruppe abzubestellen.Use the DropMulticastGroup method to unsubscribe a UdpClient from a multicast group.

Konstruktoren

UdpClient()

Initialisiert eine neue Instanz der UdpClient-Klasse.Initializes a new instance of the UdpClient class.

UdpClient(AddressFamily)

Initialisiert eine neue Instanz der UdpClient-Klasse.Initializes a new instance of the UdpClient class.

UdpClient(Int32)

Initialisiert eine neue Instanz der UdpClient-Klasse und bindet sie an die angegebene lokale Anschlussnummer.Initializes a new instance of the UdpClient class and binds it to the local port number provided.

UdpClient(Int32, AddressFamily)

Initialisiert eine neue Instanz der UdpClient-Klasse und bindet sie an die angegebene lokale Anschlussnummer.Initializes a new instance of the UdpClient class and binds it to the local port number provided.

UdpClient(IPEndPoint)

Initialisiert eine neue Instanz der UdpClient-Klasse und bindet sie an den angegebenen lokalen Endpunkt.Initializes a new instance of the UdpClient class and binds it to the specified local endpoint.

UdpClient(String, Int32)

Initialisiert eine neue Instanz der UdpClient-Klasse und richtet einen Standardremotehost ein.Initializes a new instance of the UdpClient class and establishes a default remote host.

Eigenschaften

Active

Ruft einen Wert ab, der angibt, ob ein Standardremotehost eingerichtet wurde, oder legt diesen fest.Gets or sets a value indicating whether a default remote host has been established.

Available

Ruft die vom Netzwerk empfangene Datenmenge ab, die gelesen werden kann.Gets the amount of data received from the network that is available to read.

Client

Ruft den zugrunde liegenden Netzwerk-Socket ab oder legt diesen fest.Gets or sets the underlying network Socket.

DontFragment

Ruft einen Boolean-Wert ab, der angibt, ob der UdpClient die Fragmentierung von IP (Internet Protocol)-Datagrammen zulässt, oder legt diesen fest.Gets or sets a Boolean value that specifies whether the UdpClient allows Internet Protocol (IP) datagrams to be fragmented.

EnableBroadcast

Ruft einen Boolean-Wert ab, der angibt, ob der UdpClient Broadcastpakete senden oder empfangen darf, oder legt diesen Wert fest.Gets or sets a Boolean value that specifies whether the UdpClient may send or receive broadcast packets.

ExclusiveAddressUse

Ruft einen Boolean-Wert ab, der angibt, ob der UdpClient nur die Verwendung eines Anschlusses durch einen einzigen Client zulässt, oder legt diesen fest.Gets or sets a Boolean value that specifies whether the UdpClient allows only one client to use a port.

MulticastLoopback

Ruft einen Boolean-Wert ab, der angibt, ob ausgehende Multicastpakete an die sendende Anwendung übermittelt werden, oder legt diesen fest.Gets or sets a Boolean value that specifies whether outgoing multicast packets are delivered to the sending application.

Ttl

Ruft einen Wert ab, der die Gültigkeitsdauer (TTL – Time to Live) von IP (Internet Protocol)-Paketen angibt, die vom UdpClient gesendet werden.Gets or sets a value that specifies the Time to Live (TTL) value of Internet Protocol (IP) packets sent by the UdpClient.

Methoden

AllowNatTraversal(Boolean)

Aktiviert oder deaktiviert die NAT-Überquerung (Netzwerkadressenübersetzung) für eine UdpClient-Instanz.Enables or disables Network Address Translation (NAT) traversal on a UdpClient instance.

BeginReceive(AsyncCallback, Object)

Empfängt asynchron ein Datagramm von einem Remotehost.Receives a datagram from a remote host asynchronously.

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

Sendet asynchron ein Datagramm an einen Remotehost.Sends a datagram to a remote host asynchronously. Das Ziel wurde zuvor durch Aufruf von Connect angegeben.The destination was specified previously by a call to Connect.

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

Sendet asynchron ein Datagramm an ein Ziel.Sends a datagram to a destination asynchronously. Das Ziel wird durch einen EndPointangegeben.The destination is specified by a EndPoint.

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

Sendet asynchron ein Datagramm an ein Ziel.Sends a datagram to a destination asynchronously. Das Ziel wird durch einen Hostnamen und eine Anschlussnummer angegeben.The destination is specified by the host name and port number.

Close()

Schließt die UDP-Verbindung.Closes the UDP connection.

Connect(IPAddress, Int32)

Richtet einen Standardremotehost mithilfe der angegebenen IP-Adresse und Anschlussnummer ein.Establishes a default remote host using the specified IP address and port number.

Connect(IPEndPoint)

Richtet mit dem angegebenen Netzwerkendpunkt einen Standardremotehost ein.Establishes a default remote host using the specified network endpoint.

Connect(String, Int32)

Richtet einen Standardremotehost mit dem angegebenen Hostnamen und der Anschlussnummer ein.Establishes a default remote host using the specified host name and port number.

Dispose()

Gibt die vom UdpClient verwendeten verwalteten und nicht verwalteten Ressourcen frei.Releases the managed and unmanaged resources used by the UdpClient.

Dispose(Boolean)

Gibt die von UdpClient verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the UdpClient and optionally releases the managed resources.

DropMulticastGroup(IPAddress)

Verlässt eine Multicastgruppe.Leaves a multicast group.

DropMulticastGroup(IPAddress, Int32)

Verlässt eine Multicastgruppe.Leaves a multicast group.

EndReceive(IAsyncResult, IPEndPoint)

Beendet einen ausstehenden asynchronen Empfang.Ends a pending asynchronous receive.

EndSend(IAsyncResult)

Beendet einen ausstehenden asynchronen Sendevorgang.Ends a pending asynchronous send.

Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
Finalize()
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
JoinMulticastGroup(Int32, IPAddress)

Fügt einer Multicastgruppe einen UdpClient hinzu.Adds a UdpClient to a multicast group.

JoinMulticastGroup(IPAddress)

Fügt einer Multicastgruppe einen UdpClient hinzu.Adds a UdpClient to a multicast group.

JoinMulticastGroup(IPAddress, Int32)

Fügt einer Multicasgruppe einen UdpClient mit angegebener Gültigkeitsdauer (TTL – Time To Live) hinzu.Adds a UdpClient to a multicast group with the specified Time to Live (TTL).

JoinMulticastGroup(IPAddress, IPAddress)

Fügt einer Multicastgruppe einen UdpClient hinzu.Adds a UdpClient to a multicast group.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
Receive(IPEndPoint)

Gibt ein von einem Remotehost gesendetes UDP-Datagramm zurück.Returns a UDP datagram that was sent by a remote host.

ReceiveAsync()

Gibt ein von einem Remotehost gesendetes UDP-Datagramm asynchron zurück.Returns a UDP datagram asynchronously that was sent by a remote host.

Send(Byte[], Int32)

Sendet ein UDP-Datagramm an einen Remotehost.Sends a UDP datagram to a remote host.

Send(Byte[], Int32, IPEndPoint)

Sendet ein UDP-Datagramm an den Host am angegebenen Remoteendpunkt.Sends a UDP datagram to the host at the specified remote endpoint.

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

Sendet ein UDP-Datagramm an einen angegebenen Anschluss auf einem angegebenen Remotehost.Sends a UDP datagram to a specified port on a specified remote host.

SendAsync(Byte[], Int32)

Sendet asynchron ein UPD-Datagramm an einen Remotehost.Sends a UDP datagram asynchronously to a remote host.

SendAsync(Byte[], Int32, IPEndPoint)

Sendet asynchron ein UPD-Datagramm an einen Remotehost.Sends a UDP datagram asynchronously to a remote host.

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

Sendet asynchron ein UPD-Datagramm an einen Remotehost.Sends a UDP datagram asynchronously to a remote host.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Gibt alle vom UdpClient verwendeten Ressourcen frei.Releases all resources used by the UdpClient.

Sicherheit

SocketPermission
, Um eine ausgehende Verbindung herzustellen oder eine eingehende Anforderung zu akzeptieren.To establish an outgoing connection or accept an incoming request.

Gilt für:

Siehe auch