UdpClient Kelas

Definisi

Menyediakan layanan jaringan Protokol Datagram Pengguna (UDP).

public ref class UdpClient : IDisposable
public class UdpClient : IDisposable
type UdpClient = class
    interface IDisposable
Public Class UdpClient
Implements IDisposable
Warisan
UdpClient
Penerapan

Contoh

Contoh berikut menetapkan UdpClient koneksi menggunakan nama www.contoso.com host pada port 11000. Pesan string kecil dikirim ke dua komputer host jarak jauh terpisah. Metode Receive memblokir eksekusi hingga pesan diterima. Menggunakan yang diteruskan IPEndPoint ke Receive, identitas host yang merespons terungkap.

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

Keterangan

Kelas ini UdpClient menyediakan metode sederhana untuk mengirim dan menerima datagram UDP tanpa koneksi dalam memblokir mode sinkron. Karena UDP adalah protokol transportasi tanpa koneksi, Anda tidak perlu membuat koneksi host jarak jauh sebelum mengirim dan menerima data. Namun, Anda memiliki opsi untuk membuat host jarak jauh default dengan salah satu dari dua cara berikut:

  • Create instans UdpClient kelas menggunakan nama host jarak jauh dan nomor port sebagai parameter.

  • Create instans UdpClient kelas lalu panggil Connect metode .

Anda dapat menggunakan salah satu metode kirim yang disediakan dalam UdpClient untuk mengirim data ke perangkat jarak jauh. Receive Gunakan metode untuk menerima data dari host jarak jauh.

Catatan

Jangan memanggil Send menggunakan nama host atau IPEndPoint jika Anda telah menentukan host jarak jauh default. Jika Anda melakukannya, UdpClient akan melemparkan pengecualian.

UdpClient Metode juga memungkinkan Anda mengirim dan menerima datagram multicast. JoinMulticastGroup Gunakan metode untuk berlangganan UdpClient ke grup multicast. DropMulticastGroup Gunakan metode untuk berhenti berlangganan UdpClient dari grup multicast.

Konstruktor

UdpClient()

Menginisialisasi instans baru kelas UdpClient.

UdpClient(AddressFamily)

Menginisialisasi instans baru kelas UdpClient.

UdpClient(Int32)

Menginisialisasi instans UdpClient baru kelas dan mengikatnya ke nomor port lokal yang disediakan.

UdpClient(Int32, AddressFamily)

Menginisialisasi instans UdpClient baru kelas dan mengikatnya ke nomor port lokal yang disediakan.

UdpClient(IPEndPoint)

Menginisialisasi instans UdpClient baru kelas dan mengikatnya ke titik akhir lokal yang ditentukan.

UdpClient(String, Int32)

Menginisialisasi instans UdpClient baru kelas dan membuat host jarak jauh default.

Properti

Active

Mendapatkan atau menetapkan nilai yang menunjukkan apakah host jarak jauh default telah ditetapkan.

Available

Mendapatkan jumlah data yang diterima dari jaringan yang tersedia untuk dibaca.

Client

Mendapatkan atau mengatur jaringan Socketyang mendasar .

DontFragment

Mendapatkan atau menetapkan Boolean nilai yang menentukan apakah UdpClient memungkinkan datagram Protokol Internet (IP) terfragmentasi.

EnableBroadcast

Mendapatkan atau menetapkan Boolean nilai yang menentukan apakah UdpClient mungkin mengirim paket siaran.

ExclusiveAddressUse

Mendapatkan atau menetapkan Boolean nilai yang menentukan apakah UdpClient hanya memungkinkan satu klien untuk menggunakan port.

MulticastLoopback

Mendapatkan atau menetapkan Boolean nilai yang menentukan apakah paket multicast keluar dikirimkan ke aplikasi pengirim.

Ttl

Mendapatkan atau menetapkan nilai yang menentukan nilai Time to Live (TTL) paket Protokol Internet (IP) yang dikirim oleh UdpClient.

Metode

AllowNatTraversal(Boolean)

Mengaktifkan atau menonaktifkan traversal Network Address Translation (NAT) pada UdpClient instans.

BeginReceive(AsyncCallback, Object)

Menerima datagram dari host jarak jauh secara asinkron.

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

Mengirim datagram ke host jarak jauh secara asinkron. Tujuan ditentukan sebelumnya oleh panggilan ke Connect.

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

Mengirim datagram ke tujuan secara asinkron. Tujuan ditentukan oleh EndPoint.

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

Mengirim datagram ke tujuan secara asinkron. Tujuan ditentukan oleh nama host dan nomor port.

Close()

Menutup koneksi UDP.

Connect(IPAddress, Int32)

Menetapkan host jarak jauh default menggunakan alamat IP dan nomor port yang ditentukan.

Connect(IPEndPoint)

Menetapkan host jarak jauh default menggunakan titik akhir jaringan yang ditentukan.

Connect(String, Int32)

Menetapkan host jarak jauh default menggunakan nama host dan nomor port yang ditentukan.

Dispose()

Merilis sumber daya terkelola dan tidak terkelola yang UdpClientdigunakan oleh .

Dispose(Boolean)

Merilis sumber daya tidak terkelola yang UdpClient digunakan oleh dan secara opsional merilis sumber daya terkelola.

DropMulticastGroup(IPAddress)

Meninggalkan grup multicast.

DropMulticastGroup(IPAddress, Int32)

Meninggalkan grup multicast.

EndReceive(IAsyncResult, IPEndPoint)

Mengakhiri penerimaan asinkron yang tertunda.

EndSend(IAsyncResult)

Mengakhiri pengiriman asinkron yang tertunda.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
JoinMulticastGroup(Int32, IPAddress)

UdpClient Menambahkan ke grup multicast.

JoinMulticastGroup(IPAddress)

UdpClient Menambahkan ke grup multicast.

JoinMulticastGroup(IPAddress, Int32)

UdpClient Menambahkan ke grup multicast dengan Time to Live (TTL) yang ditentukan.

JoinMulticastGroup(IPAddress, IPAddress)

UdpClient Menambahkan ke grup multicast.

MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
Receive(IPEndPoint)

Mengembalikan datagram UDP yang dikirim oleh host jarak jauh.

ReceiveAsync()

Mengembalikan datagram UDP secara asinkron yang dikirim oleh host jarak jauh.

ReceiveAsync(CancellationToken)

Mengembalikan datagram UDP secara asinkron yang dikirim oleh host jarak jauh.

Send(Byte[], Int32)

Mengirim datagram UDP ke host jarak jauh.

Send(Byte[], Int32, IPEndPoint)

Mengirim datagram UDP ke host di titik akhir jarak jauh yang ditentukan.

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

Mengirim datagram UDP ke port tertentu pada host jarak jauh tertentu.

Send(ReadOnlySpan<Byte>)

Mengirim datagram UDP ke host jarak jauh.

Send(ReadOnlySpan<Byte>, IPEndPoint)

Mengirim datagram UDP ke host di titik akhir jarak jauh yang ditentukan.

Send(ReadOnlySpan<Byte>, String, Int32)

Mengirim datagram UDP ke port tertentu pada host jarak jauh tertentu.

SendAsync(Byte[], Int32)

Mengirim datagram UDP secara asinkron ke host jarak jauh.

SendAsync(Byte[], Int32, IPEndPoint)

Mengirim datagram UDP secara asinkron ke host jarak jauh.

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

Mengirim datagram UDP secara asinkron ke host jarak jauh.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Mengirim datagram UDP secara asinkron ke host jarak jauh.

SendAsync(ReadOnlyMemory<Byte>, IPEndPoint, CancellationToken)

Mengirim datagram UDP secara asinkron ke host jarak jauh.

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

Mengirim datagram UDP secara asinkron ke host jarak jauh.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()

API ini mendukung infrastruktur produk dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Merilis semua sumber daya yang UdpClientdigunakan oleh .

Berlaku untuk

Lihat juga