StreamWebSocket Kelas

Definisi

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
Object Platform::Object IInspectable StreamWebSocket
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.

Berlaku untuk

Lihat juga