Análise do websocket

HTML5 WebSocket

  • Permitir que o servidor envie dados ativamente para o cliente

  • O navegador e o servidor precisam apenas concluir um handshake, e os dois podem criar diretamente uma conexão persistente e realizar a transmissão de dados bidirecional.

  • Economize recursos e largura de banda do servidor, realize mais comunicação em tempo real

Criarwebsocket
  • O primeiro parâmetro é o caminho de destino

  • O segundo parâmetro é opcional, que pode ser uma cadeia ou uma matriz, para representar sub-protocolo, o que iria permitir que um servidor para conseguir mais websocketsub-protocolo

var ws = novo WebSocket ([ url], [ opção])
Método de instância
  • send(): Receba um String|ArrayBuffer|Blobdado e envie-o ao cliente

  • close(): O cliente desconecta ativamente

    • O primeiro parâmetro é opcional, é o número do status fechado, o padrão é 1000

    • O segundo parâmetro é opcional, tipo de sequência, indicando o motivo da desconexão

Constante representando o status da conexão
  • WebSocket.CONNECTING 0 A conexão não foi aberta

  • WebSocket.OPEN 1 A conexão está aberta e pronta para se comunicar

  • WebSocket.CLOSING 2 A conexão está fechando

  • WebSocket.CLOSED 3 A conexão está fechada ou a conexão não pode ser estabelecida

  • Determinar o estado atual por readyStateatributos

Monitoramento de eventos
  • open: Conexão estabelecida ----- OPEN

  • message: Mensagem recebida, dados recebidos na função de retorno de chamada messageEvent, que messageEvent.datasão informações da mensagem

  • closed: Conexão fechada-FECHADO

  • error: Ocorreu um erro durante o estabelecimento e a conexão

Método de monitoramento de eventos e análise de dados
  • Pode on[事件]ser atribuído diretamente

    • ws. onopen = function () { alert ( 'Conecte-se com sucesso')}
  • Você também pode usar addEventListenereventos de escuta

    • ws. addEventListener ( 'open', funtion () {})
  • Seja um servidor ou um cliente, ele recebe uma seqüência de caracteres serializada, que geralmente precisa ser JSON.parse(e.data)analisada

Estabilidade de conexão
  • Em alguns casos, quando há um erro de desconexão ou conexão, você precisa monitorarerror ou opendesconectar anormalmente e reconectar

  • Na opentarefa um aberto após o momento para determinar a corrente readyStatenas circunstâncias incomuns tentativa de reconexão

Batimento cardíaco
  • WebSocketO mecanismo de pulsação é especificado em 1. Uma parte envia uma ping(opcode 0x9)mensagem para a outra parte e a outra parte deve retornar o mais rápido possível após recebê- pingla.pong(0xA)

  • Usado para verificar o status online do parceiro conectado. Portanto, se não houver pulsação, não há como julgar o status da conexão da outra parte e a conexão será desconectada.

Fase de construção
  • Por meio deHTTP

  • Significado do cabeçalho da solicitação parcial

    • Connection:Upgrade : Indica que você deseja atualizar o contrato

    • Upgrade:websocket: Indica que você deseja atualizar para o websocketcontrato

    • Sec-WebSocket-Version: websocketVersão

    • Sec-WebSocket-Key: É um Base64 encodevalor gerado aleatoriamente pelo navegador, e a cabeceira da resposta do serviço Sec-WebSocket-Acceptpacote

  • Significado de cabeçalho de resposta parcial

    • Código de status 101: indica protocolo de comutação

    • UpgradeE Connectioncostumava responder que o cliente mudou o protocolo com sucesso

Acho que você gosta

Origin www.cnblogs.com/ashen1999/p/12693551.html
Recomendado
Clasificación