Idioma

StreamWebSocket Classe

Definição

Dá suporte à comunicação de rede que permite a leitura e gravação de fluxos usando um 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
Herança
Object Platform::Object IInspectable StreamWebSocket
Atributos
Implementações

Requisitos do Windows

Requisitos Description
Família de dispositivos
Windows 10 (introduzida na 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v1.0)
Funcionalidades do aplicativo
internetClient privateNetworkClientServer

Comentários

A classe StreamWebSocket fornece uma abstração baseada em fluxo do protocolo WebSocket baseado em mensagem. Isso é útil para cenários em que arquivos grandes (como fotos ou filmes) precisam ser transferidos. O uso do StreamWebSocket permite que seções de uma mensagem sejam lidas com cada operação de leitura, em vez de exigir que toda a mensagem seja lida em uma única operação (como com MessageWebSocket).

StreamWebSocket só dá suporte a mensagens binárias. Para mensagens UTF-8, MessageWebSocket deve ser usado.

Tratamento de exceções

Você deve escrever código para lidar com exceções ao chamar métodos assíncronos na classe StreamWebSocket. As exceções podem resultar de erros de validação de parâmetro, falhas de resolução de nomes e erros de rede. Exceções de erros de rede (perda de conectividade, falhas de conexão e falhas de servidor HTTP, por exemplo) podem ocorrer a qualquer momento. Esses erros resultam na geração de exceções. Se não for tratada pelo aplicativo, uma exceção poderá fazer com que todo o aplicativo seja encerrado pelo runtime.

O Windows. O namespace Networking.Sockets tem um método auxiliar conveniente e enumeração para lidar com erros ao usar WebSockets. Isso pode ser útil para lidar com exceções de rede específicas de forma diferente em seu aplicativo. Um aplicativo também pode usar o HRESULT da exceção em erros de validação de parâmetro para saber mais informações detalhadas sobre o erro que causou a exceção.

Para obter mais informações sobre possíveis exceções e como lidar com exceções, consulte Tratamento de exceções em aplicativos de rede.

Usando StreamWebSocket no Windows Server 2012

No Windows Server 2012 e Windows Server 2012 R2, o Windows.Networking.dll que implementa a maioria das classes no Windows. O namespace Networking.Sockets falhará ao carregar, a menos que o recurso do Media Foundation esteja habilitado. Como resultado, os aplicativos que usam o StreamWebSocket e as classes WebSocket relacionadas no Windows. O namespace Networking.Sockets falhará se o recurso do Media Foundation estiver desabilitado. instalações Windows Server 2012 ou Windows Server 2012 R2 com o recurso do Media Foundation desabilitado.

O recurso do Media Foundation pode ser habilitado em Windows Server 2012 ou Windows Server 2012 R2 usando Gerenciador do Servidor ou inserindo o seguinte texto em um prompt de comando ou em um script:

dism /online /enable-feature /featurename:ServerMediaFoundation Depois que o recurso do Media Foundation estiver habilitado, o usuário será solicitado a reiniciar. Depois que o computador é reiniciado, classes para soquetes e WebSockets no Windows. O namespace Networking.Sockets funcionará conforme o esperado.

Histórico de versões

Versão do Windows Versão do SDK Valor adicionado
1607 14393 ServerCustomValidationRequested

Construtores

Nome Description
StreamWebSocket()

Cria um novo objeto StreamWebSocket .

Propriedades

Nome Description
Control

Obtém dados de controle de soquete em um objeto StreamWebSocket .

Information

Obtém informações de soquete em um objeto StreamWebSocket .

InputStream

Obtém o fluxo de entrada a ser lido do destino remoto em um objeto StreamWebSocket .

OutputStream

Obtém o fluxo de saída a ser gravado no destino de rede remota em um objeto StreamWebSocket .

Métodos

Nome Description
Close()

Fecha o StreamWebSocket e envia um quadro de fechamento vazio para o servidor.

Close(UInt16, String)

Fecha o StreamWebSocket e indica um motivo para o fechamento.

ConnectAsync(Uri)

Inicia uma operação assíncrona para se conectar a um destino de rede remota em um objeto StreamWebSocket .

Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

SetRequestHeader(String, String)

Adiciona um cabeçalho de solicitação HTTP à mensagem de solicitação HTTP usada no handshake de protocolo WebSocket pelo objeto StreamWebSocket .

Eventos

Nome Description
Closed

Ocorre quando um quadro próximo é recebido no objeto StreamWebSocket como parte do handshake de fechamento.

ServerCustomValidationRequested

Ocorre quando uma nova conexão StreamWebSocket com um URI de servidor seguro (wss: protocolo) está sendo validada. Manipule esse evento se você quiser implementar a validação do servidor personalizado para a conexão.

Aplica-se a

Confira também