UdpClient Osztály

Definíció

User Datagram Protocol (UDP) hálózati szolgáltatásokat biztosít.

public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
    interface IDisposable
Public Class UdpClient
Implements IDisposable
Öröklődés
UdpClient
Megvalósítás

Példák

Az alábbi példa egy UdpClient kapcsolatot hoz létre az 11000-s port gazdagépnevével www.contoso.com . A rendszer egy kis sztringüzenetet küld két különálló távoli gazdagépnek. A Receive metódus letiltja a végrehajtást, amíg egy üzenet nem érkezik. Az IPEndPoint átadott Receiveadatok használatával a rendszer felfedi a válaszadó gazdagép identitását.

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

Megjegyzések

Az UdpClient osztály egyszerű módszereket kínál a kapcsolat nélküli UDP-adatgramok küldésére és fogadására szinkron módban való blokkoláshoz. Mivel az UDP kapcsolat nélküli átviteli protokoll, nem kell távoli gazdakapcsolatot létesítenie az adatok küldése és fogadása előtt. Lehetősége van azonban az alapértelmezett távoli gazdagép létrehozására az alábbi két módszer egyikével:

  • Hozzon létre egy példányt az UdpClient osztályból a távoli gazdagép nevével és portszámával paraméterekként.

  • Hozza létre az osztály egy példányát UdpClient , majd hívja meg a metódust Connect .

A megadott küldési módok UdpClient bármelyikével adatokat küldhet távoli eszközre. A metódussal Receive adatokat fogadhat távoli gazdagépekről.

Note

Ne hívjon Send gazdagépnévvel, vagy IPEndPoint ha már megadott egy alapértelmezett távoli gazdagépet. Ha igen, UdpClient kivételt fog tenni.

UdpClient metódusokkal csoportos küldésű datagramokat is küldhet és fogadhat. Ezzel a JoinMulticastGroup módszerrel előfizethet egy UdpClient csoportos küldési csoportra. Ezzel a DropMulticastGroup módszerrel leiratkozhat egy UdpClient csoportos küldési csoportról.

Konstruktorok

Name Description
UdpClient()

Inicializálja a UdpClient osztály új példányát.

UdpClient(AddressFamily)

Inicializálja a UdpClient osztály új példányát.

UdpClient(Int32, AddressFamily)

Inicializálja az UdpClient osztály új példányát, és a megadott helyi portszámhoz köti.

UdpClient(Int32)

Inicializálja az UdpClient osztály új példányát, és a megadott helyi portszámhoz köti.

UdpClient(IPEndPoint)

Inicializálja az UdpClient osztály új példányát, és a megadott helyi végponthoz köti.

UdpClient(String, Int32)

Inicializálja az UdpClient osztály új példányát, és létrehoz egy alapértelmezett távoli gazdagépet.

Tulajdonságok

Name Description
Active

Lekéri vagy beállít egy értéket, amely jelzi, hogy létrejött-e egy alapértelmezett távoli gazdagép.

Available

Lekéri a hálózatról érkező, olvasható adatok mennyiségét.

Client

Lekéri vagy beállítja a mögöttes hálózatot Socket.

DontFragment

Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy az UdpClient IP-adatgramok töredezettek-e.

EnableBroadcast

Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy a UdpClient rendszer küldhet-e szórásos csomagokat.

ExclusiveAddressUse

Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy csak UdpClient egy ügyfél használhat-e portot.

MulticastLoopback

Lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy a kimenő csoportos küldési csomagok kézbesítve legyenek-e a küldő alkalmazásnak.

Ttl

Lekéri vagy beállítja azt az értéket, amely megadja az Internet Protocol -csomagok (IP-) csomagjainak Élettartam (TTL) értékét.UdpClient

Metódusok

Name Description
AllowNatTraversal(Boolean)

Engedélyezi vagy letiltja a hálózati címfordítási (NAT) bejárást egy UdpClient példányon.

BeginReceive(AsyncCallback, Object)

Datagramot fogad egy távoli gazdagéptől aszinkron módon.

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

Datagramot küld egy távoli gazdagépnek aszinkron módon. A célhelyet korábban egy hívás adta meg.Connect

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

Aszinkron módon küld egy datagramot egy célhelyre. A célhelyet egy EndPoint.

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

Aszinkron módon küld egy datagramot egy célhelyre. A célhelyet a gazdagép neve és portszáma adja meg.

Close()

Bezárja az UDP-kapcsolatot.

Connect(IPAddress, Int32)

Létrehoz egy alapértelmezett távoli gazdagépet a megadott IP-cím és portszám használatával.

Connect(IPEndPoint)

Létrehoz egy alapértelmezett távoli gazdagépet a megadott hálózati végpont használatával.

Connect(String, Int32)

Létrehoz egy alapértelmezett távoli gazdagépet a megadott gazdagépnév és portszám használatával.

Dispose()

Felszabadítja a felügyelt és nem felügyelt erőforrásokat, amelyeket a UdpClient.

Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által UdpClient használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

DropMulticastGroup(IPAddress, Int32)

Csoportos küldési csoportot hagy.

DropMulticastGroup(IPAddress)

Csoportos küldési csoportot hagy.

EndReceive(IAsyncResult, IPEndPoint)

Befejez egy függőben lévő aszinkron fogadást.

EndSend(IAsyncResult)

Befejez egy függőben lévő aszinkron küldést.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
JoinMulticastGroup(Int32, IPAddress)

Hozzáad egy UdpClient csoportos küldési csoporthoz.

JoinMulticastGroup(IPAddress, Int32)

A megadott élettartammal (TTL) rendelkező csoportos küldési csoporthoz ad hozzá egy UdpClient elemet.

JoinMulticastGroup(IPAddress, IPAddress)

Hozzáad egy UdpClient csoportos küldési csoporthoz.

JoinMulticastGroup(IPAddress)

Hozzáad egy UdpClient csoportos küldési csoporthoz.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
Receive(IPEndPoint)

Egy távoli gazdagép által küldött UDP-adatgramot ad vissza.

ReceiveAsync()

Egy távoli gazdagép által küldött aszinkron UDP-datagramot ad vissza.

ReceiveAsync(CancellationToken)

Egy távoli gazdagép által küldött aszinkron UDP-datagramot ad vissza.

Send(Byte[], Int32, IPEndPoint)

UDP-adatgramot küld a gazdagépnek a megadott távoli végponton.

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

UDP-adatgramot küld egy megadott távoli gazdagép megadott portjára.

Send(Byte[], Int32)

UDP datagramot küld egy távoli gazdagépnek.

Send(ReadOnlySpan<Byte>, IPEndPoint)

UDP-adatgramot küld a gazdagépnek a megadott távoli végponton.

Send(ReadOnlySpan<Byte>, String, Int32)

UDP-adatgramot küld egy megadott távoli gazdagép megadott portjára.

Send(ReadOnlySpan<Byte>)

UDP datagramot küld egy távoli gazdagépnek.

SendAsync(Byte[], Int32, IPEndPoint)

UDP datagramot aszinkron módon küld egy távoli gazdagépnek.

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

UDP datagramot aszinkron módon küld egy távoli gazdagépnek.

SendAsync(Byte[], Int32)

UDP datagramot aszinkron módon küld egy távoli gazdagépnek.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

UDP datagramot aszinkron módon küld egy távoli gazdagépnek.

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

UDP datagramot aszinkron módon küld egy távoli gazdagépnek.

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

UDP datagramot aszinkron módon küld egy távoli gazdagépnek.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
IDisposable.Dispose()

Ez az API a termékinfrastruktúrát támogatja, és közvetlenül a kódból nem használható.

Felszabadítja a .-hez használt összes erőforrást UdpClient.

A következőre érvényes:

Lásd még