DatagramSocket.GetOutputStreamAsync Metode

Definisi

Overload

GetOutputStreamAsync(EndpointPair)

Memulai operasi untuk mendapatkan IOutputStream ke tujuan jaringan jarak jauh yang ditentukan oleh objek EndpointPair yang kemudian dapat digunakan untuk mengirim data jaringan.

GetOutputStreamAsync(HostName, String)

Memulai operasi untuk mendapatkan IOutputStream ke tujuan jarak jauh yang ditentukan oleh nama host jarak jauh dan nama layanan jarak jauh yang kemudian dapat digunakan untuk mengirim data jaringan.

GetOutputStreamAsync(EndpointPair)

Memulai operasi untuk mendapatkan IOutputStream ke tujuan jaringan jarak jauh yang ditentukan oleh objek EndpointPair yang kemudian dapat digunakan untuk mengirim data jaringan.

public:
 virtual IAsyncOperation<IOutputStream ^> ^ GetOutputStreamAsync(EndpointPair ^ endpointPair) = GetOutputStreamAsync;
/// [Windows.Foundation.Metadata.Overload("GetOutputStreamWithEndpointPairAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IOutputStream> GetOutputStreamAsync(EndpointPair const& endpointPair);
[Windows.Foundation.Metadata.Overload("GetOutputStreamWithEndpointPairAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IOutputStream> GetOutputStreamAsync(EndpointPair endpointPair);
function getOutputStreamAsync(endpointPair)
Public Function GetOutputStreamAsync (endpointPair As EndpointPair) As IAsyncOperation(Of IOutputStream)

Parameter

endpointPair
EndpointPair

Pasangan titik akhir yang mewakili nama host lokal atau alamat IP lokal, nama layanan lokal atau port UDP lokal, nama host jarak jauh atau alamat IP jarak jauh, dan nama layanan jarak jauh atau port UDP jarak jauh.

Mengembalikan

IOutputStream yang mewakili operasi asinkron.

Atribut

Persyaratan Windows

Kemampuan aplikasi
ID_CAP_NETWORKING [Windows Phone]

Keterangan

Metode GetOutputStreamAsync(EndpointPair) pada DatagramSocket digunakan untuk memulai operasi untuk mendapatkan IOutputStream ke tujuan jaringan jarak jauh yang ditentukan oleh objek EndpointPair . IOutputStream kemudian dapat digunakan untuk mengirim data ke tujuan jarak jauh.

Metode GetOutputStreamAsync(EndpointPair) akan mengembalikan IOutputStream ketika berhasil diselesaikan. Menulis ke aliran tersebut akan mengirim datagram ke host jarak jauh dan nama layanan yang ditentukan. IOutputStream akan selalu mengirim ke nama host jarak jauh dan nama layanan jarak jauh yang ditentukan dalam metode ConnectAsync.

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, metode GetOutputStreamAsync(EndpointPair) menghasilkan resolusi nama nama host jarak jauh. Jika properti RemoteServiceName berisi nama layanan, metode GetOutputStreamAsync menghasilkan resolusi nama layanan jarak jauh ke port UDP.

Properti RemoteHostName dan RemoteServiceName harus disediakan pada objek EndpointPair yang diteruskan dalam parameter endpointPair . Jika RemoteHostNamenull atau RemoteServiceNamenull 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 string kosong untuk properti LocalServiceName , 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(EndpointPair) dipanggil, aplikasi dapat mengatur nilai yang berbeda untuk anggota RemoteHostName dan RemoteServiceName di parameter endpointPair .

Untuk menerima data dari titik akhir jarak jauh pada objek DatagramSocket , aplikasi harus menetapkan peristiwa MessageReceived ke penanganan aktivitas lalu memanggil metode BindEndpointAsync atau BindServiceNameAsync untuk mengikat DatagramSocket ke nama layanan lokal atau port UDP sebelum memanggil metode GetOutputStreamAsync. 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 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 GetOutputStreamAsync(EndpointPair) untuk mendapatkan OutputStream untuk mengirim data ke titik akhir jarak jauh. Metode GetOutputStreamAsync(EndpointPair) juga akan mengikat DatagramSocket ke nama layanan lokal atau port UDP dan nama host atau alamat IP lokal menggunakan parameter endpointPair .
  5. 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 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 GetOutputStreamAsync(EndpointPair). Adaptor yang ditentukan digunakan untuk operasi pengikatan. Jika setelah memanggil BindServiceNameAsync(String, NetworkAdapter) dan parameter endpointPair yang diteruskan ke GetOutputStreamAsync(EndpointPair) menentukan LocalHostName, metode GetOutputStreamAsync(EndpointPair) akan gagal.

Lihat juga

Berlaku untuk

GetOutputStreamAsync(HostName, String)

Memulai operasi untuk mendapatkan IOutputStream ke tujuan jarak jauh yang ditentukan oleh nama host jarak jauh dan nama layanan jarak jauh yang kemudian dapat digunakan untuk mengirim data jaringan.

public:
 virtual IAsyncOperation<IOutputStream ^> ^ GetOutputStreamAsync(HostName ^ remoteHostName, Platform::String ^ remoteServiceName) = GetOutputStreamAsync;
/// [Windows.Foundation.Metadata.Overload("GetOutputStreamAsync")]
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<IOutputStream> GetOutputStreamAsync(HostName const& remoteHostName, winrt::hstring const& remoteServiceName);
[Windows.Foundation.Metadata.Overload("GetOutputStreamAsync")]
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<IOutputStream> GetOutputStreamAsync(HostName remoteHostName, string remoteServiceName);
function getOutputStreamAsync(remoteHostName, remoteServiceName)
Public Function GetOutputStreamAsync (remoteHostName As HostName, remoteServiceName As String) As IAsyncOperation(Of IOutputStream)

Parameter

remoteHostName
HostName

Nama host jarak jauh atau alamat IP jarak jauh.

remoteServiceName
String

Platform::String

winrt::hstring

Nama layanan jarak jauh atau port UDP jarak jauh.

Mengembalikan

IOutputStream yang mewakili operasi asinkron.

Atribut

Persyaratan Windows

Kemampuan aplikasi
ID_CAP_NETWORKING [Windows Phone]

Keterangan

Metode [GetOutputStreamAsync(HostName, String) pada DatagramSocket digunakan untuk memulai operasi untuk mendapatkan IOutputStream ke tujuan jaringan jarak jauh yang ditentukan oleh nama host jarak jauh dan nama layanan jarak jauh. IOutputStream kemudian dapat digunakan untuk mengirim data ke tujuan jarak jauh.

Metode [GetOutputStreamAsync(HostName, String) akan mengembalikan IOutputStream ketika berhasil diselesaikan. Menulis ke aliran tersebut akan mengirim datagram ke host jarak jauh dan nama layanan yang ditentukan. IOutputStream akan selalu mengirim ke nama host jarak jauh dan nama layanan jarak jauh yang ditentukan dalam metode ConnectAsync.

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, metode [GetOutputStreamAsync(HostName, String) menghasilkan resolusi nama nama host jarak jauh. Jika parameter remoteServiceName berisi nama layanan, metode [GetOutputStreamAsync(HostName, String) menghasilkan resolusi nama layanan jarak jauh ke port UDP.

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

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

  • Gunakan salah satu metode GetOutputStreamAsync.
  • Setelah panggilan berhasil ke salah satu metode ConnectAsync , teruskan properti OutputStream ke objek DataWriter dan gunakan metode pada objek DataWriter untuk mengirim data.

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

Metode ConnectAsync memungkinkan aplikasi mengirim datagram UDP menggunakan objek DatagramSocket ke satu tujuan jaringan.

Untuk menerima data dari titik akhir jarak jauh pada objek DatagramSocket , aplikasi harus menetapkan peristiwa MessageReceived ke penanganan aktivitas lalu memanggil metode BindEndpointAsync atau BindServiceNameAsync untuk mengikat DatagramSocket ke nama layanan lokal atau port UDP sebelum memanggil metode GetOutputStreamAsync. 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 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. Ikat DatagramSocket ke nama layanan lokal atau port UDP.
  5. Penanganan aktivitas MessageReceived akan dipanggil setiap kali pesan dari titik akhir jarak jauh tiba.
  6. Panggil metode GetOutputStreamAsync untuk mendapatkan OutputStream untuk mengirim data ke titik akhir jarak jauh. Anda dapat menggunakan informasi yang terkandung dalam DatagramSocketMessageReceivedEventArgs dari penanganan aktivitas MessageReceived untuk membuat OutputStream dengan titik akhir jarak jauh yang menulis pesan masuk tertentu. 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 .

Lihat juga

Berlaku untuk