StreamWebSocket Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendukung komunikasi jaringan yang memungkinkan membaca dan menulis aliran menggunakan WebSocket.
public ref class StreamWebSocket sealed : IClosable
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class StreamWebSocket final : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class StreamWebSocket final : IClosable
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class StreamWebSocket : System.IDisposable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class StreamWebSocket : System.IDisposable
function StreamWebSocket()
Public NotInheritable Class StreamWebSocket
Implements IDisposable
- Warisan
- Atribut
- Penerapan
Persyaratan Windows
Rangkaian perangkat |
Windows 10 (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
|
Kemampuan aplikasi |
internetClient
privateNetworkClientServer
|
Keterangan
Kelas StreamWebSocket menyediakan abstraksi berbasis aliran dari protokol WebSocket berbasis pesan. Ini berguna untuk skenario di mana file besar (seperti foto atau film) perlu ditransfer. Menggunakan StreamWebSocket memungkinkan bagian pesan dibaca dengan setiap operasi baca, daripada mengharuskan seluruh pesan dibaca dalam satu operasi (seperti halnya MessageWebSocket).
StreamWebSocket hanya mendukung pesan biner. Untuk pesan UTF-8, MessageWebSocket harus digunakan.
Menangani pengecualian
Anda harus menulis kode untuk menangani pengecualian saat memanggil metode asinkron pada kelas StreamWebSocket. Pengecualian dapat diakibatkan oleh kesalahan validasi parameter, kegagalan resolusi nama, dan kesalahan jaringan. Pengecualian dari kesalahan jaringan (hilangnya konektivitas, kegagalan koneksi, dan kegagalan server HTTP, misalnya) dapat terjadi kapan saja. Kesalahan ini mengakibatkan pengecualian dilemparkan. Jika tidak ditangani oleh aplikasi Anda, pengecualian dapat menyebabkan seluruh aplikasi Anda dihentikan oleh runtime.
Namespace Layanan Windows.Networking.Sockets memiliki metode pembantu dan enumerasi yang nyaman untuk menangani kesalahan saat menggunakan WebSocket. Ini dapat berguna untuk menangani pengecualian jaringan tertentu secara berbeda di aplikasi Anda. Aplikasi juga dapat menggunakan HRESULT dari pengecualian tentang kesalahan validasi parameter untuk mempelajari informasi lebih rinci tentang kesalahan yang menyebabkan pengecualian.
Untuk informasi selengkapnya tentang kemungkinan pengecualian dan cara menangani pengecualian, lihat Menangani pengecualian di aplikasi jaringan.
Menggunakan StreamWebSocket di Windows Server 2012
Pada Windows Server 2012 dan Windows Server 2012 R2, Windows.Networking.dll yang mengimplementasikan sebagian besar kelas di namespace Layanan Windows.Networking.Sockets akan gagal dimuat kecuali fitur Media Foundation diaktifkan. Akibatnya, aplikasi yang menggunakan StreamWebSocket dan kelas WebSocket terkait di namespace Layanan Windows.Networking.Sockets akan gagal jika fitur Media Foundation dinonaktifkan. Penginstalan Windows Server 2012 atau Windows Server 2012 R2 dengan fitur Media Foundation dinonaktifkan.
Fitur Media Foundation dapat diaktifkan pada Windows Server 2012 atau Windows Server 2012 R2 menggunakan Manajer Server atau dengan memasukkan teks berikut dalam perintah atau skrip:
dism /online /enable-feature /featurename:ServerMediaFoundation
Setelah fitur Media Foundation diaktifkan, pengguna diminta untuk memulai ulang. Setelah komputer dimulai ulang, kelas untuk soket dan WebSocket di namespace Windows.Networking.Sockets akan berfungsi seperti yang diharapkan.
Riwayat versi
Versi Windows | Versi SDK | Nilai ditambahkan |
---|---|---|
1607 | 14393 | ServerCustomValidationRequested |
Konstruktor
StreamWebSocket() |
Membuat objek StreamWebSocket baru. |
Properti
Control |
Mendapatkan data kontrol soket pada objek StreamWebSocket . |
Information |
Mendapatkan informasi soket pada objek StreamWebSocket . |
InputStream |
Mendapatkan aliran input untuk dibaca dari tujuan jarak jauh pada objek StreamWebSocket . |
OutputStream |
Mendapatkan aliran output untuk menulis ke tujuan jaringan jarak jauh pada objek StreamWebSocket . |
Metode
Close() |
Menutup StreamWebSocket dan mengirim bingkai tutup kosong ke server. |
Close(UInt16, String) |
Menutup StreamWebSocket dan menunjukkan alasan penutupan. |
ConnectAsync(Uri) |
Memulai operasi asinkron untuk menyambungkan ke tujuan jaringan jarak jauh pada objek StreamWebSocket . |
Dispose() |
Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola. |
SetRequestHeader(String, String) |
Menambahkan header permintaan HTTP ke pesan permintaan HTTP yang digunakan dalam jabat tangan protokol WebSocket oleh objek StreamWebSocket . |
Acara
Closed |
Terjadi ketika bingkai dekat diterima pada objek StreamWebSocket sebagai bagian dari jabat tangan dekat. |
ServerCustomValidationRequested |
Terjadi ketika koneksi StreamWebSocket baru ke URI server aman (wss: protokol) sedang divalidasi. Tangani kejadian ini jika Anda ingin menerapkan validasi server kustom untuk koneksi. |