Aracılığıyla paylaş


UdpClient Sınıf

Tanım

Kullanıcı Veri Birimi Protokolü (UDP) ağ hizmetleri sağlar.

public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
    interface IDisposable
Public Class UdpClient
Implements IDisposable
Devralma
UdpClient
Uygulamalar

Örnekler

Aşağıdaki örnek, bağlantı noktası 11000'de ana bilgisayar adını www.contoso.com kullanarak bir UdpClient bağlantı kurar. İki ayrı uzak konak makinesine küçük bir dize iletisi gönderilir. yöntemi, Receive bir ileti alınana kadar yürütmeyi engeller. IPEndPoint öğesine geçirilen Receivekullanılarak, yanıtlayan konağın kimliği gösterilir.

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

Açıklamalar

UdpClient sınıfı, zaman uyumlu modu engelleyen bağlantısız UDP veri birimleri göndermek ve almak için basit yöntemler sağlar. UDP bağlantısız bir aktarım protokolü olduğundan, veri gönderip almadan önce uzak konak bağlantısı kurmanız gerekmez. Ancak, aşağıdaki iki yoldan biriyle varsayılan uzak konak oluşturma seçeneğiniz vardır:

  • Uzak ana bilgisayar adını ve bağlantı noktası numarasını parametre olarak kullanarak sınıfın bir örneğini UdpClient İçerik Oluşturucu.

  • sınıfının bir örneğini UdpClient İçerik Oluşturucu ve ardından yöntemini çağırınConnect.

Uzak bir cihaza veri göndermek için içinde UdpClient sağlanan gönderme yöntemlerinden herhangi birini kullanabilirsiniz. Receive Uzak konaklardan veri almak için yöntemini kullanın.

Not

Bir ana bilgisayar adı kullanarak veya IPEndPoint varsayılan bir uzak ana bilgisayar belirttiyseniz aramayınSend. Bunu yaparsanız, UdpClient bir özel durum oluşturur.

UdpClient yöntemleri, çok noktaya yayın veri birimleri göndermenize ve almanıza da olanak sağlar. JoinMulticastGroup çok noktaya yayın grubuna abone UdpClient olmak için yöntemini kullanın. DropMulticastGroup Çok noktaya yayın grubundan aboneliği UdpClient kaldırmak için yöntemini kullanın.

Oluşturucular

UdpClient()

UdpClient sınıfının yeni bir örneğini başlatır.

UdpClient(AddressFamily)

UdpClient sınıfının yeni bir örneğini başlatır.

UdpClient(Int32)

sınıfının yeni bir örneğini UdpClient başlatır ve sağlanan yerel bağlantı noktası numarasına bağlar.

UdpClient(Int32, AddressFamily)

sınıfının yeni bir örneğini UdpClient başlatır ve sağlanan yerel bağlantı noktası numarasına bağlar.

UdpClient(IPEndPoint)

sınıfının yeni bir örneğini UdpClient başlatır ve belirtilen yerel uç noktaya bağlar.

UdpClient(String, Int32)

sınıfının yeni bir örneğini UdpClient başlatır ve varsayılan uzak konağı oluşturur.

Özellikler

Active

Varsayılan uzak konağın oluşturulup oluşturulmadığını belirten bir değer alır veya ayarlar.

Available

Ağdan alınan ve okunabilen veri miktarını alır.

Client

Temel ağı Socketalır veya ayarlar.

DontFragment

İnternet Protokolü (IP) veri birimlerinin UdpClient parçalanıp parçalanmadığını belirten bir Boolean değer alır veya ayarlar.

EnableBroadcast

yayın paketleri gönderip gönderemeyeceğini UdpClient belirten bir Boolean değer alır veya ayarlar.

ExclusiveAddressUse

yalnızca bir Boolean istemcinin bağlantı noktası kullanmasına izin verip vermediğini UdpClient belirten bir değer alır veya ayarlar.

MulticastLoopback

Giden çok noktaya yayın paketlerinin gönderen uygulamaya teslim edilip edilmeyeceğini belirten bir Boolean değer alır veya ayarlar.

Ttl

tarafından UdpClientgönderilen İnternet Protokolü (IP) paketlerinin Yaşam Süresi (TTL) değerini belirten bir değer alır veya ayarlar.

Yöntemler

AllowNatTraversal(Boolean)

Bir UdpClient örnekte Ağ Adresi Çevirisi (NAT) geçişi etkinleştirir veya devre dışı bırakır.

BeginReceive(AsyncCallback, Object)

Uzak konaktan zaman uyumsuz olarak bir veri birimi alır.

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

Zaman uyumsuz olarak uzak bir konağa veri birimi gönderir. Hedef daha önce çağrısıyla Connectbelirtildi.

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

Bir hedefe zaman uyumsuz olarak bir veri birimi gönderir. Hedef bir EndPointtarafından belirtilir.

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

Bir hedefe zaman uyumsuz olarak bir veri birimi gönderir. Hedef, ana bilgisayar adı ve bağlantı noktası numarasıyla belirtilir.

Close()

UDP bağlantısını kapatır.

Connect(IPAddress, Int32)

Belirtilen IP adresini ve bağlantı noktası numarasını kullanarak varsayılan bir uzak konak oluşturur.

Connect(IPEndPoint)

Belirtilen ağ uç noktasını kullanarak varsayılan bir uzak konak oluşturur.

Connect(String, Int32)

Belirtilen ana bilgisayar adını ve bağlantı noktası numarasını kullanarak varsayılan bir uzak konak oluşturur.

Dispose()

tarafından UdpClientkullanılan yönetilen ve yönetilmeyen kaynakları serbest bırakır.

Dispose(Boolean)

UdpClient tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak serbest bırakır.

DropMulticastGroup(IPAddress)

Çok noktaya yayın grubundan ayrılır.

DropMulticastGroup(IPAddress, Int32)

Çok noktaya yayın grubundan ayrılır.

EndReceive(IAsyncResult, IPEndPoint)

Bekleyen zaman uyumsuz alma işlemini sonlandırır.

EndSend(IAsyncResult)

Bekleyen zaman uyumsuz göndermeyi sonlandırır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
JoinMulticastGroup(Int32, IPAddress)

Çok noktaya yayın grubuna bir UdpClient ekler.

JoinMulticastGroup(IPAddress)

Çok noktaya yayın grubuna bir UdpClient ekler.

JoinMulticastGroup(IPAddress, Int32)

UdpClient Belirtilen Yaşam Süresi (TTL) ile bir çok noktaya yayın grubuna ekler.

JoinMulticastGroup(IPAddress, IPAddress)

Çok noktaya yayın grubuna bir UdpClient ekler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
Receive(IPEndPoint)

Uzak bir konak tarafından gönderilen bir UDP veri birimi döndürür.

ReceiveAsync()

Uzak bir konak tarafından gönderilen zaman uyumsuz bir UDP veri birimi döndürür.

ReceiveAsync(CancellationToken)

Uzak bir konak tarafından gönderilen zaman uyumsuz bir UDP veri birimi döndürür.

Send(Byte[], Int32)

Uzak bir konağa UDP veri birimi gönderir.

Send(Byte[], Int32, IPEndPoint)

Belirtilen uzak uç noktadaki konağa bir UDP veri birimi gönderir.

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

Belirtilen uzak konakta belirtilen bağlantı noktasına bir UDP veri birimi gönderir.

Send(ReadOnlySpan<Byte>)

Uzak bir konağa UDP veri birimi gönderir.

Send(ReadOnlySpan<Byte>, IPEndPoint)

Belirtilen uzak uç noktadaki konağa bir UDP veri birimi gönderir.

Send(ReadOnlySpan<Byte>, String, Int32)

Belirtilen uzak konakta belirtilen bağlantı noktasına bir UDP veri birimi gönderir.

SendAsync(Byte[], Int32)

Uzak bir konağa zaman uyumsuz olarak bir UDP veri birimi gönderir.

SendAsync(Byte[], Int32, IPEndPoint)

Uzak bir konağa zaman uyumsuz olarak bir UDP veri birimi gönderir.

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

Uzak bir konağa zaman uyumsuz olarak bir UDP veri birimi gönderir.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Uzak bir konağa zaman uyumsuz olarak bir UDP veri birimi gönderir.

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

Uzak bir konağa zaman uyumsuz olarak bir UDP veri birimi gönderir.

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

Uzak bir konağa zaman uyumsuz olarak bir UDP veri birimi gönderir.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IDisposable.Dispose()

Bu API, ürün altyapısını destekler ve doğrudan kodunuzdan kullanıma yönelik değildir.

UdpClient tarafından kullanılan tüm kaynakları serbest bırakır.

Şunlara uygulanır

Ayrıca bkz.