UdpClient Klass

Definition

Tillhandahåller UDP-nätverkstjänster (User Datagram Protocol).

public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
    interface IDisposable
Public Class UdpClient
Implements IDisposable
Arv
UdpClient
Implementeringar

Exempel

I följande exempel upprättas en UdpClient anslutning med värdnamnet www.contoso.com på port 11000. Ett litet strängmeddelande skickas till två separata fjärrvärddatorer. Metoden Receive blockerar körningen tills ett meddelande tas emot. Med hjälp av skickad IPEndPoint till Receivevisas identiteten för den svarande värden.

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

Kommentarer

Klassen UdpClient innehåller enkla metoder för att skicka och ta emot anslutningslösa UDP-datagram i blockerande synkront läge. Eftersom UDP är ett anslutningslöst transportprotokoll behöver du inte upprätta en fjärrvärdanslutning innan du skickar och tar emot data. Du har dock möjlighet att etablera en standardvärd på något av följande två sätt:

  • Skapa en instans av UdpClient klassen med fjärrvärdens namn och portnummer som parametrar.

  • Skapa en instans av UdpClient klassen och anropa Connect sedan metoden.

Du kan använda någon av de sändningsmetoder som anges i UdpClient för att skicka data till en fjärrenhet. Receive Använd metoden för att ta emot data från fjärrvärdar.

Note

Anropa Send inte med ett värdnamn eller IPEndPoint om du redan har angett en fjärrvärd som standard. Om du gör det utlöser UdpClient du ett undantag.

UdpClient med metoder kan du också skicka och ta emot multicast-datagram. Använd metoden JoinMulticastGroup för att prenumerera på en UdpClient multicast-grupp. Använd metoden för att avbryta prenumerationen DropMulticastGroupUdpClient från en multicast-grupp.

Konstruktorer

Name Description
UdpClient()

Initierar en ny instans av UdpClient klassen.

UdpClient(AddressFamily)

Initierar en ny instans av UdpClient klassen.

UdpClient(Int32, AddressFamily)

Initierar en ny instans av UdpClient klassen och binder den till det lokala portnummer som anges.

UdpClient(Int32)

Initierar en ny instans av UdpClient klassen och binder den till det lokala portnummer som anges.

UdpClient(IPEndPoint)

Initierar en ny instans av UdpClient klassen och binder den till den angivna lokala slutpunkten.

UdpClient(String, Int32)

Initierar en ny instans av UdpClient klassen och etablerar en fjärrvärd som standard.

Egenskaper

Name Description
Active

Hämtar eller anger ett värde som anger om en standardvärd har upprättats.

Available

Hämtar den mängd data som tas emot från nätverket som är tillgängligt för läsning.

Client

Hämtar eller anger det underliggande nätverket Socket.

DontFragment

Hämtar eller anger ett Boolean värde som anger om UdpClient tillåtna IP-datagram (Internet Protocol) ska fragmenteras.

EnableBroadcast

Hämtar eller anger ett Boolean värde som anger om sändningspaket kan UdpClient skickas.

ExclusiveAddressUse

Hämtar eller anger ett Boolean värde som anger om endast UdpClient en klient kan använda en port.

MulticastLoopback

Hämtar eller anger ett Boolean värde som anger om utgående multicast-paket levereras till det sändande programmet.

Ttl

Hämtar eller anger ett värde som anger TTL-värdet (Time to Live) för IP-paket (Internet Protocol) som skickas av UdpClient.

Metoder

Name Description
AllowNatTraversal(Boolean)

Aktiverar eller inaktiverar NAT-bläddering (Network Address Translation) på en UdpClient instans.

BeginReceive(AsyncCallback, Object)

Tar emot ett datagram från en fjärrvärd asynkront.

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

Skickar ett datagram till en fjärrvärd asynkront. Målet angavs tidigare av ett anrop till Connect.

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

Skickar ett datagram till ett mål asynkront. Målet anges av en EndPoint.

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

Skickar ett datagram till ett mål asynkront. Målet anges av värdnamnet och portnumret.

Close()

Stänger UDP-anslutningen.

Connect(IPAddress, Int32)

Upprättar en standardvärd med den angivna IP-adressen och portnumret.

Connect(IPEndPoint)

Upprättar en standardvärd med hjälp av den angivna nätverksslutpunkten.

Connect(String, Int32)

Upprättar en standardvärd med det angivna värdnamnet och portnumret.

Dispose()

Släpper de hanterade och ohanterade resurser som används av UdpClient.

Dispose(Boolean)

Släpper de ohanterade resurser som används av UdpClient och släpper eventuellt de hanterade resurserna.

DropMulticastGroup(IPAddress, Int32)

Lämnar en multicast-grupp.

DropMulticastGroup(IPAddress)

Lämnar en multicast-grupp.

EndReceive(IAsyncResult, IPEndPoint)

Avslutar en väntande asynkron mottagning.

EndSend(IAsyncResult)

Avslutar en väntande asynkron sändning.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
JoinMulticastGroup(Int32, IPAddress)

Lägger till en UdpClient i en multicast-grupp.

JoinMulticastGroup(IPAddress, Int32)

Lägger till en UdpClient till en multicast-grupp med angiven TTL (Time to Live).

JoinMulticastGroup(IPAddress, IPAddress)

Lägger till en UdpClient i en multicast-grupp.

JoinMulticastGroup(IPAddress)

Lägger till en UdpClient i en multicast-grupp.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
Receive(IPEndPoint)

Returnerar ett UDP-datagram som skickades av en fjärrvärd.

ReceiveAsync()

Returnerar ett UDP-datagram asynkront som skickades av en fjärrvärd.

Send(Byte[], Int32, IPEndPoint)

Skickar ett UDP-datagram till värden vid den angivna fjärrslutpunkten.

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

Skickar ett UDP-datagram till en angiven port på en angiven fjärrvärd.

Send(Byte[], Int32)

Skickar ett UDP-datagram till en fjärrvärd.

SendAsync(Byte[], Int32, IPEndPoint)

Skickar ett UDP-datagram asynkront till en fjärrvärd.

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

Skickar ett UDP-datagram asynkront till en fjärrvärd.

SendAsync(Byte[], Int32)

Skickar ett UDP-datagram asynkront till en fjärrvärd.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Explicita gränssnittsimplementeringar

Name Description
IDisposable.Dispose()

Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden.

Släpper alla resurser som används av UdpClient.

Gäller för

Se även