UdpClient UdpClient UdpClient UdpClient Class

Definition

Stellt die UDP-Netzwerkdienste (User Datagram Protocol) 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
UdpClientUdpClientUdpClientUdpClient
Implementiert

Beispiele

Im folgenden Beispiel wird eine UdpClient Verbindung mithilfe des Hostnamens www.contoso.com auf Port 11000.The following example establishes a UdpClient connection using the host name www.contoso.com on port 11000. Eine kurze Zeichenfolge-Nachricht wird an zwei separate Remotehostcomputer 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. Mithilfe der IPEndPoint übergeben Receive, die Identität des antwortenden Hosts angezeigt wird.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 verbindungsloser UDP-Datagramme im synchronen Modus blockiert.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 nicht zu, um eine Verbindung vor dem Senden und Empfangen von Daten herzustellen.Because UDP is a connectionless transport protocol, you do not need to establish a remote host connection prior to sending and receiving data. Zweck haben Sie jedoch die Möglichkeit, einen Standardremotehost eingerichtet, in einem der beiden folgenden Methoden:You do, however, have the option of establishing a default remote host in one of the following two ways:

  • Erstellen Sie eine Instanz von der UdpClient -Klasse unter Verwendung des remote-Host und Anschlussnummer als Parameter.Create an instance of the UdpClient class using the remote host name and port number as parameters.

  • Erstellen Sie eine Instanz von der UdpClient Klasse und rufen anschließend die Connect Methode.Create an instance of the UdpClient class and then call the Connect method.

Können Sie eines der gesendeten Methoden zur Verfügung gestellt, der UdpClient zum Senden von Daten auf einem Remotegerät.You can use any of the send methods provided in the UdpClient to send data to a remote device. Verwenden der Receive Methode, um Daten vom remote-Hosts empfangen.Use the Receive method to receive data from remote hosts.

Hinweis

Rufen Sie keine Send unter Verwendung eines Hostnamens oder IPEndPoint , wenn Sie bereits einen Standardremotehost angegeben haben.Do not call Send using a host name or IPEndPoint if you have already specified a default remote host. Wenn Sie dies tun, UdpClient wird eine Ausnahme ausgelöst.If you do, UdpClient will throw an exception.

UdpClient -Methoden können Sie zum Senden und Empfangen von Multicastdatagramme auch.UdpClient methods also allow you to send and receive multicast datagrams. Verwenden der JoinMulticastGroup Methode zum Abonnieren einer UdpClient an eine Multicastgruppe.Use the JoinMulticastGroup method to subscribe a UdpClient to a multicast group. Verwenden der DropMulticastGroup Methode zum Kündigen des Abonnements eine UdpClient aus einer Multicastgruppe.Use the DropMulticastGroup method to unsubscribe a UdpClient from a multicast group.

Konstruktoren

UdpClient() UdpClient() UdpClient() UdpClient()

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

UdpClient(AddressFamily) UdpClient(AddressFamily) UdpClient(AddressFamily) UdpClient(AddressFamily)

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

UdpClient(Int32) UdpClient(Int32) UdpClient(Int32) 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) UdpClient(Int32, AddressFamily) UdpClient(Int32, AddressFamily) 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) UdpClient(IPEndPoint) UdpClient(IPEndPoint) 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) UdpClient(String, Int32) UdpClient(String, Int32) 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 Active Active 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 Available Available 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 Client Client Client

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

DontFragment DontFragment DontFragment 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 EnableBroadcast EnableBroadcast 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 ExclusiveAddressUse ExclusiveAddressUse 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. Gets or sets a Boolean value that specifies whether the UdpClient allows only one client to use a port.

MulticastLoopback MulticastLoopback MulticastLoopback 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 Ttl Ttl 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) AllowNatTraversal(Boolean) AllowNatTraversal(Boolean) 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) BeginReceive(AsyncCallback, Object) BeginReceive(AsyncCallback, Object) BeginReceive(AsyncCallback, Object)

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

BeginSend(Byte[], Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, AsyncCallback, Object) 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) BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object) BeginSend(Byte[], Int32, IPEndPoint, AsyncCallback, Object) 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) BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object) BeginSend(Byte[], Int32, String, Int32, AsyncCallback, Object) 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() Close() Close() Close()

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

Connect(IPAddress, Int32) Connect(IPAddress, Int32) Connect(IPAddress, Int32) 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) Connect(IPEndPoint) Connect(IPEndPoint) Connect(IPEndPoint)

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

Connect(String, Int32) Connect(String, Int32) Connect(String, Int32) 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() Dispose() Dispose() Dispose()

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

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) 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) DropMulticastGroup(IPAddress) DropMulticastGroup(IPAddress) DropMulticastGroup(IPAddress)

Verlässt eine Multicastgruppe. Leaves a multicast group.

DropMulticastGroup(IPAddress, Int32) DropMulticastGroup(IPAddress, Int32) DropMulticastGroup(IPAddress, Int32) DropMulticastGroup(IPAddress, Int32)

Verlässt eine Multicastgruppe. Leaves a multicast group.

EndReceive(IAsyncResult, IPEndPoint) EndReceive(IAsyncResult, IPEndPoint) EndReceive(IAsyncResult, IPEndPoint) EndReceive(IAsyncResult, IPEndPoint)

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

EndSend(IAsyncResult) EndSend(IAsyncResult) EndSend(IAsyncResult) EndSend(IAsyncResult)

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

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als die Standardhashfunktion. Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
JoinMulticastGroup(Int32, IPAddress) JoinMulticastGroup(Int32, IPAddress) JoinMulticastGroup(Int32, IPAddress) JoinMulticastGroup(Int32, IPAddress)

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

JoinMulticastGroup(IPAddress) JoinMulticastGroup(IPAddress) JoinMulticastGroup(IPAddress) JoinMulticastGroup(IPAddress)

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

JoinMulticastGroup(IPAddress, Int32) JoinMulticastGroup(IPAddress, Int32) JoinMulticastGroup(IPAddress, Int32) 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) JoinMulticastGroup(IPAddress, IPAddress) JoinMulticastGroup(IPAddress, IPAddress) JoinMulticastGroup(IPAddress, IPAddress)

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

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
Receive(IPEndPoint) Receive(IPEndPoint) Receive(IPEndPoint) Receive(IPEndPoint)

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

ReceiveAsync() ReceiveAsync() ReceiveAsync() 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) Send(Byte[], Int32) Send(Byte[], Int32) Send(Byte[], Int32)

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

Send(Byte[], Int32, IPEndPoint) Send(Byte[], Int32, IPEndPoint) Send(Byte[], Int32, IPEndPoint) 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) Send(Byte[], Int32, String, Int32) Send(Byte[], Int32, String, Int32) Send(Byte[], Int32, String, Int32)

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

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

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

SendAsync(Byte[], Int32, IPEndPoint) SendAsync(Byte[], Int32, IPEndPoint) SendAsync(Byte[], Int32, IPEndPoint) 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) SendAsync(Byte[], Int32, String, Int32) SendAsync(Byte[], Int32, String, Int32) SendAsync(Byte[], Int32, String, Int32)

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

ToString() ToString() ToString() ToString()

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

(Inherited from Object)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Sicherheit

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

Gilt für:

Siehe auch