DatagramSocket.ConnectAsync Metode

Definisi

Overload

ConnectAsync(EndpointPair)

Memulai operasi sambungkan pada DatagramSocket ke tujuan jaringan jarak jauh yang ditentukan sebagai objek EndpointPair .

ConnectAsync(HostName, String)

Memulai operasi sambungkan pada DatagramSocket ke tujuan jarak jauh yang ditentukan oleh nama host jarak jauh dan nama layanan jarak jauh.

ConnectAsync(EndpointPair)

Memulai operasi sambungkan pada DatagramSocket ke tujuan jaringan jarak jauh yang ditentukan sebagai objek EndpointPair .

public:
 virtual IAsyncAction ^ ConnectAsync(EndpointPair ^ endpointPair) = ConnectAsync;
/// [Windows.Foundation.Metadata.Overload("ConnectWithEndpointPairAsync")]
IAsyncAction ConnectAsync(EndpointPair const& endpointPair);
[Windows.Foundation.Metadata.Overload("ConnectWithEndpointPairAsync")]
public IAsyncAction ConnectAsync(EndpointPair endpointPair);
function connectAsync(endpointPair)
Public Function ConnectAsync (endpointPair As EndpointPair) As IAsyncAction

Parameter

endpointPair
EndpointPair

Objek EndpointPair yang menentukan nama host atau alamat IP lokal, nama layanan lokal atau port UDP, nama host jarak jauh atau alamat IP jarak jauh, dan nama layanan jarak jauh atau port UDP jarak jauh untuk tujuan jaringan jarak jauh.

Mengembalikan

Operasi sambungkan asinkron pada objek DatagramSocket .

Atribut

Persyaratan Windows

Kemampuan aplikasi
ID_CAP_NETWORKING [Windows Phone] internetClientServer privateNetworkClientServer

Keterangan

Metode ConnectAsync(EndPointPair) ini pada DatagramSocket digunakan untuk menentukan titik akhir lokal dan jarak jauh tempat datagram akan dikirim saat menggunakan properti OutputStream . Metode ini juga membatasi alamat IP jarak jauh paket yang akan diterima ke nama host jarak jauh di parameter endpointPair . Hanya paket masuk yang cocok dengan titik akhir jarak jauh di parameter endpointPair yang akan memicu peristiwa MessageReceived pada DatagramSocket.

Aplikasi ini nantinya dapat mengirim data jaringan ke tujuan jaringan jarak jauh dengan memanggil metode WriteAsync pada properti OutputStreamdatagramSocket atau dengan meneruskan OutputStream ke objek DataWriter dan memanggil metode objek DataWriter .

Properti RemoteHostName dari EndpointPair yang diteruskan dalam parameter endpointPair dapat berisi nama host atau alamat IP tujuan jarak jauh. Properti RemoteServiceName dari EndpointPair yang diteruskan dalam parameter endpointPair dapat berisi nama layanan atau port UDP dari tujuan jarak jauh. Jika properti RemoteHostName berisi nama host, maka metode ConnectAsync(EndPointPair) akan menyelesaikan nama host jarak jauh ke alamat IP. Jika properti RemoteServiceName dari EndpointPair berisi nama layanan, metode ConnectAsync(EndPointPair) akan menyelesaikan nama layanan jarak jauh ke nomor port UDP.

String nama layanan yang dikenali secara default adalah nama layanan yang tercantum dalam file %windir%\System32\drivers\etc\services di komputer lokal. Nilai nama layanan lainnya menghasilkan kueri layanan nama ke server sistem nama domain (DNS) untuk rekaman DNS SRV.

Properti RemoteHostName dan RemoteServiceName harus disediakan. Jika RemoteHostName null atau jika RemoteServiceName null atau string kosong, kesalahan akan terjadi.

Jika objek EndpointPair yang diteruskan dalam parameter endpointPair berisi properti LocalHostName null, maka sistem akan menyediakan alamat IP lokal yang akan digunakan. Jika objek EndpointPair yang diteruskan dalam parameter endpointPair berisi properti LocalServiceName kosong, maka sistem akan menyediakan port UDP lokal yang akan digunakan.

Ada dua cara menggunakan DatagramSocket untuk mengirim datagram UDP ke tujuan jaringan jarak jauh:

Metode GetOutputStreamAsync memungkinkan aplikasi mengirim datagram UDP menggunakan objek DatagramSocket ke beberapa tujuan jaringan. Setiap kali metode GetOutputStreamAsync dipanggil, aplikasi dapat mengatur nilai yang berbeda untuk parameter remoteHostName dan remoteServiceName .

Untuk menerima data dari satu titik akhir jarak jauh pada objek DatagramSocket , aplikasi harus menetapkan peristiwa MessageReceived ke penanganan aktivitas lalu memanggil metode ConnectAsync(EndPointPair) dengan parameter endpointPair yang diatur ke informasi titik akhir jarak jauh. Penanganan aktivitas MessageReceived harus diatur sebelum operasi ikat atau sambungkan, jika tidak, kesalahan akan terjadi.

Urutan operasi yang khas adalah sebagai berikut:

  • Buat DatagramSocket.
  • Gunakan properti Kontrol pada DatagramSocket untuk mengambil objek DatagramSocketControl dan mengatur kontrol tingkat lanjut apa pun. Langkah ini biasanya tidak diperlukan oleh sebagian besar aplikasi.
  • Tetapkan peristiwa MessageReceived ke penanganan aktivitas.
  • Panggil metode ConnectAsync untuk menyambungkan ke titik akhir jarak jauh.
  • Gunakan properti OutputStream pada DatagramSocket dengan objek DataWriter untuk mengirim pesan ke titik akhir jarak jauh.
  • Penanganan aktivitas MessageReceived akan dipanggil setiap kali pesan dari titik akhir jarak jauh tiba. Metode GetOutputStreamAsync juga berbeda dari metode ConnectAsync saat aplikasi menggunakan metode BindEndpointAsync atau BindServiceNameAsync untuk mengikat ke nama layanan lokal atau port UDP. Dengan metode GetOutputStreamAsync , aplikasi akan menerima paket dari tujuan jarak jauh apa pun yang dikirim ke nama layanan lokal atau port UDP. Dengan metode ConnectAsync, aplikasi hanya akan menerima paket dari tujuan jarak jauh yang diteruskan sebagai parameter ke metode ConnectAsync.

Metode BindServiceNameAsync(String, NetworkAdapter) dapat digunakan untuk menentukan adaptor jaringan sebelum memanggil metode ConnectAsync(EndPointPair). Adaptor yang ditentukan digunakan untuk operasi pengikatan. Jika setelah memanggil metode BindServiceNameAsync(String, NetworkAdapter) dan parameter endpointPair yang diteruskan ke ConnectAsync(EndPointPair) menentukan LocalHostName, metode ConnectAsync(EndPointPair) akan gagal.

Metode ConnectAsync hanya berfungsi untuk alamat IP unicast. Saat mencoba memanggil metode ConnectAsync dengan alamat IP multicast di alamat IP jarak jauh yang diatur dalam parameter endpointPair , operasi asinkron akan selesai dengan kesalahan. Saat meneruskan kesalahan ke metode SocketError.GetStatus , nilai yang dikembalikan adalah SocketErrorStatus.HostNotFound.

Menggunakan ConnectAsync dengan alamat IP siaran seperti 255.255.255.255 akan terhubung, tetapi hanya akan disiarkan melalui adaptor jaringan pertama yang ditemukan. Untuk menyiarkan pada semua adaptor yang tersedia, gunakan GetOutputStreamAsync.

Lihat juga

Berlaku untuk

ConnectAsync(HostName, String)

Memulai operasi sambungkan pada DatagramSocket ke tujuan jarak jauh yang ditentukan oleh nama host jarak jauh dan nama layanan jarak jauh.

public:
 virtual IAsyncAction ^ ConnectAsync(HostName ^ remoteHostName, Platform::String ^ remoteServiceName) = ConnectAsync;
/// [Windows.Foundation.Metadata.Overload("ConnectAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction ConnectAsync(HostName const& remoteHostName, winrt::hstring const& remoteServiceName);
[Windows.Foundation.Metadata.Overload("ConnectAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction ConnectAsync(HostName remoteHostName, string remoteServiceName);
function connectAsync(remoteHostName, remoteServiceName)
Public Function ConnectAsync (remoteHostName As HostName, remoteServiceName As String) As IAsyncAction

Parameter

remoteHostName
HostName

Nama host atau alamat IP tujuan jaringan jarak jauh.

remoteServiceName
String

Platform::String

winrt::hstring

Nama layanan atau port UDP tujuan jaringan jarak jauh.

Mengembalikan

Operasi sambungkan asinkron pada objek DatagramSocket .

Atribut

Persyaratan Windows

Kemampuan aplikasi
ID_CAP_NETWORKING [Windows Phone] internetClientServer privateNetworkClientServer

Keterangan

Metode ConnectAsync pada DatagramSocket digunakan untuk menentukan nama host jarak jauh atau alamat IP jarak jauh dan nama layanan jarak jauh atau nomor port UDP tempat datagram akan dikirim saat menggunakan properti OutputStream . Metode ini juga membatasi alamat IP jarak jauh paket yang akan diterima ke parameter remoteHostName . Hanya paket masuk yang cocok dengan parameter remoteHostName yang akan memicu peristiwa MessageReceived pada DatagramSocket.

Aplikasi ini nantinya dapat mengirim data jaringan ke tujuan jaringan jarak jauh dengan memanggil metode WriteAsync pada properti OutputStreamdatagramSocket atau dengan meneruskan OutputStream ke objek DataWriter dan memanggil metode objek DataWriter .

Parameter remoteHostName dapat berisi nama host atau alamat IP tujuan jarak jauh. Parameter remoteServiceName dapat berisi nama layanan atau port UDP tujuan jarak jauh. Jika parameter remoteHostName berisi nama host, maka metode ConnectAsync akan menyelesaikan nama host jarak jauh ke alamat IP. Jika parameter remoteServiceName berisi nama layanan, maka metode ConnectAsync akan menyelesaikan nama layanan jarak jauh ke nomor port UDP.

String nama layanan yang dikenali secara default oleh parameter remoteServiceName adalah nama layanan yang tercantum dalam file %windir%\System32\drivers\etc\services di komputer lokal. Nilai nama layanan lainnya menghasilkan kueri layanan nama ke server sistem nama domain (DNS) untuk rekaman DNS SRV.

Parameter remoteHostName dan remoteServiceName harus disediakan. Jika remoteHostName null atau remoteServiceName null atau string kosong, kesalahan akan terjadi.

Ada dua cara menggunakan DatagramSocket untuk mengirim datagram UDP ke tujuan jaringan jarak jauh:

Metode GetOutputStreamAsync memungkinkan aplikasi mengirim datagram UDP menggunakan objek DatagramSocket ke beberapa tujuan jaringan. Setiap kali metode GetOutputStreamAsync dipanggil, aplikasi dapat mengatur nilai yang berbeda untuk parameter remoteHostName dan remoteServiceName .

Untuk menerima data dari satu titik akhir pada objek DatagramSocket , aplikasi harus menetapkan peristiwa MessageReceived ke penanganan aktivitas lalu memanggil metode ConnectAsync dengan parameter remoteHostName dan remoteServiceName yang diatur ke informasi titik akhir jarak jauh. Penanganan aktivitas MessageReceived harus diatur sebelum operasi ikat atau sambungkan, jika tidak, kesalahan akan terjadi.

Urutan operasi yang khas adalah sebagai berikut:

  1. Buat DatagramSocket.
  2. Gunakan properti Kontrol pada DatagramSocket untuk mengambil objek DatagramSocketControl dan mengatur kontrol tingkat lanjut apa pun. Langkah ini biasanya tidak diperlukan oleh sebagian besar aplikasi.
  3. Tetapkan peristiwa MessageReceived ke penanganan aktivitas.
  4. Panggil metode ConnectAsync untuk menyambungkan ke titik akhir jarak jauh.
  5. Gunakan properti OutputStream pada DatagramSocket dengan objek DataWriter untuk mengirim pesan ke titik akhir jarak jauh.
  6. Penanganan aktivitas MessageReceived akan dipanggil setiap kali pesan dari titik akhir jarak jauh tiba. Metode GetOutputStreamAsync juga berbeda dari metode ConnectAsync saat aplikasi menggunakan metode BindEndpointAsync atau BindServiceNameAsync untuk mengikat ke nama layanan lokal atau port UDP. Dengan metode GetOutputStreamAsync , aplikasi akan menerima paket dari tujuan jarak jauh apa pun yang dikirim ke nama layanan lokal atau port UDP. Dengan metode ConnectAsync , aplikasi hanya akan menerima paket dari tujuan jarak jauh yang diteruskan sebagai parameter ke metode ConnectAsync .

Metode ConnectAsync hanya berfungsi untuk alamat IP unicast. Ketika mencoba memanggil metode ConnectAsync dengan alamat IP multicast untuk parameter remoteHostName , operasi asinkron akan selesai dengan kesalahan. Saat meneruskan kesalahan ke metode SocketError.GetStatus , nilai yang dikembalikan adalah SocketErrorStatus.HostNotFound.

Menggunakan ConnectAsync dengan alamat IP siaran seperti 255.255.255.255 akan terhubung, tetapi hanya akan disiarkan melalui adaptor jaringan pertama yang ditemukan. Untuk menyiarkan pada semua adaptor yang tersedia, gunakan GetOutputStreamAsync.

Lihat juga

Berlaku untuk